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]); }