TEST(FileInterfaceImpl, Word_1) { FileInterfaceImpl fii("file.out"); fii.GetNext(); fii.GetNext(); EXPECT_EQ(fii.word(), "one"); }
TEST(FileInterfaceImpl, GetWordByPos_1) { FileInterfaceImpl fii("file.out"); EXPECT_EQ(fii.GetWordByPos(1), "one"); }
TEST(FileInterfaceImpl, GetWordByPos_0) { FileInterfaceImpl fii("file.out"); EXPECT_EQ(fii.GetWordByPos(0), "example"); }
TEST(FileInterfaceImpl, GetNext_1) { FileInterfaceImpl fii("file.out"); fii.GetNext(); fii.GetNext(); EXPECT_FALSE(fii.GetNext()); }
TEST(FileInterfaceImpl, GetNext_0) { FileInterfaceImpl fii("file.out"); EXPECT_TRUE(fii.GetNext()); }
TEST(FileInterfaceImpl, Operator_1) { FileInterfaceImpl fii("file.out"); EXPECT_EQ(fii[0], "example"); }
struct three_halves { float operator()(int in) { return static_cast<float>(in) * 1.5f; } }; using ii = apf::index_iterator<int>; using fii = apf::transform_iterator<ii, three_halves>; using si = apf::stride_iterator<ii>; using fsi = apf::transform_iterator<si, three_halves>; TEST_CASE("iterators/combinations", "Test combinations of iterators") { SECTION("index_iterator + transform_iterator", "") { auto iter = fii(apf::make_index_iterator(2), three_halves()); CHECK(*iter == 3.0f); } SECTION("index_iterator + stride_iterator + transform_iterator", "") { auto iter = fsi(si(apf::make_index_iterator(2), 2), three_halves()); CHECK(*iter == 3.0f); ++iter; CHECK(*iter == 6.0f); auto iter2 = fsi(si(apf::make_index_iterator(2), -2), three_halves()); CHECK(*iter2 == 3.0f); ++iter2; CHECK(*iter2 == 0.0f); }