Exemple #1
0
int  main() {
  LinearGenerator linearGen(0,20,2);
  RandomGenerator randomGen(10);
  FibonacciGenerator fibGen(10);
  // MOCK 1
  std::vector<double> myVector;
  myVector.push_back(15);
  myVector.push_back(20);
  myVector.push_back(35);
  myVector.push_back(40);
  myVector.push_back(50);
  MockGenerator mockGen(myVector);
  // MOCK 2
  std::vector<double> myVector2;
  myVector2.push_back(1);
  myVector2.push_back(10);
  myVector2.push_back(50);
  MockGenerator mockGen2(myVector2);

  LinearInterpolationCalculator linInterCalc;
  NearestRankCalculator nearestRankCalc;

  DistributionTester mock0(&mockGen, &nearestRankCalc);
  DistributionTester mock1(&mockGen, &linInterCalc);
  DistributionTester mock2(&mockGen2, &linInterCalc);

  DistributionTester d1(&linearGen, &linInterCalc);
  DistributionTester d2(&linearGen, &nearestRankCalc);
  DistributionTester d3(&randomGen, &linInterCalc);
  DistributionTester d4(&randomGen, &nearestRankCalc);
  DistributionTester d5(&fibGen, &linInterCalc);
  DistributionTester d6(&fibGen, &nearestRankCalc);

  std::cout << "d1: " << d1.getPercentile(50) << std::endl;
  std::cout << "d2: " << d2.getPercentile(50) << std::endl;

  std::cout << "mock0: " << mock0.getPercentile(30) << std::endl;
  std::cout << "mock0: " << mock0.getPercentile(40) << std::endl;
  std::cout << "mock0: " << mock0.getPercentile(50) << std::endl;
  std::cout << "mock0: " << mock0.getPercentile(100) << std::endl;

  std::cout << "mock1: " << mock1.getPercentile(10) << std::endl;
  std::cout << "mock1: " << mock1.getPercentile(30) << std::endl;
  std::cout << "mock1: " << mock1.getPercentile(40) << std::endl;
  std::cout << "mock1: " << mock1.getPercentile(90) << std::endl;

  std::cout << "mock2: " << mock2.getPercentile(10) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(20) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(30) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(40) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(50) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(60) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(70) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(80) << std::endl;
  std::cout << "mock2: " << mock2.getPercentile(90) << std::endl;
}
TEST(ThreadTest, Mutex)
{
  std::vector<std::string> log;
  AdblockPlus::Mutex logMutex;
  LockingMock mock1(log, logMutex);
  LockingMock mock2(log, logMutex);
  mock1.Start();
  mock2.Start();
  mock1.Join();
  mock2.Join();
  ASSERT_EQ("started", log[0]);
  ASSERT_EQ("ended", log[1]);
  ASSERT_EQ("started", log[2]);
  ASSERT_EQ("ended", log[3]);
}