47 PrimeTable* CreatePrimeTable<OnTheFlyPrimeTable>() {
52 PrimeTable* CreatePrimeTable<PreCalculatedPrimeTable>() {
62 PrimeTableTest() : table_(CreatePrimeTable<
T>()) {}
64 ~PrimeTableTest()
override {
delete table_; }
76 #if GTEST_HAS_TYPED_TEST
93 typedef Types<OnTheFlyPrimeTable, PreCalculatedPrimeTable> Implementations;
99 TYPED_TEST(PrimeTableTest, ReturnsFalseForNonPrimes) {
115 TYPED_TEST(PrimeTableTest, ReturnsTrueForPrimes) {
125 EXPECT_EQ(2, this->table_->GetNextPrime(0));
126 EXPECT_EQ(3, this->table_->GetNextPrime(2));
127 EXPECT_EQ(5, this->table_->GetNextPrime(3));
128 EXPECT_EQ(7, this->table_->GetNextPrime(5));
129 EXPECT_EQ(11, this->table_->GetNextPrime(7));
130 EXPECT_EQ(131, this->table_->GetNextPrime(128));
137 #endif // GTEST_HAS_TYPED_TEST
139 #if GTEST_HAS_TYPED_TEST_P
141 using testing::Types;
160 class PrimeTableTest2 :
public PrimeTableTest<T> {
170 TYPED_TEST_P(PrimeTableTest2, ReturnsFalseForNonPrimes) {
189 EXPECT_EQ(2, this->table_->GetNextPrime(0));
190 EXPECT_EQ(3, this->table_->GetNextPrime(2));
191 EXPECT_EQ(5, this->table_->GetNextPrime(3));
192 EXPECT_EQ(7, this->table_->GetNextPrime(5));
193 EXPECT_EQ(11, this->table_->GetNextPrime(7));
194 EXPECT_EQ(131, this->table_->GetNextPrime(128));
202 ReturnsFalseForNonPrimes, ReturnsTrueForPrimes, CanGetNextPrime);
217 typedef Types<OnTheFlyPrimeTable, PreCalculatedPrimeTable>
218 PrimeTableImplementations;
221 PrimeTableImplementations);
223 #endif // GTEST_HAS_TYPED_TEST_P