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");
}
Ejemplo n.º 7
0
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);
}