From f41959ccb2d9d4c722fe8fc3351401d53bcf4900 Mon Sep 17 00:00:00 2001 From: Manjunath Kudlur Date: Fri, 6 Nov 2015 16:27:58 -0800 Subject: TensorFlow: Initial commit of TensorFlow library. TensorFlow is an open source software library for numerical computation using data flow graphs. Base CL: 107276108 --- tensorflow/core/lib/gtl/iterator_range_test.cc | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tensorflow/core/lib/gtl/iterator_range_test.cc (limited to 'tensorflow/core/lib/gtl/iterator_range_test.cc') diff --git a/tensorflow/core/lib/gtl/iterator_range_test.cc b/tensorflow/core/lib/gtl/iterator_range_test.cc new file mode 100644 index 0000000000..328be4ecbc --- /dev/null +++ b/tensorflow/core/lib/gtl/iterator_range_test.cc @@ -0,0 +1,60 @@ +#include "tensorflow/core/lib/gtl/iterator_range.h" + +#include +#include "tensorflow/core/platform/port.h" +#include + +namespace tensorflow { +namespace gtl { +namespace { + +TEST(IteratorRange, WholeVector) { + std::vector v = {2, 3, 5, 7, 11, 13}; + iterator_range::iterator> range(v.begin(), v.end()); + int index = 0; + for (int prime : range) { + ASSERT_LT(index, v.size()); + EXPECT_EQ(v[index], prime); + ++index; + } + EXPECT_EQ(v.size(), index); +} + +TEST(IteratorRange, VectorMakeRange) { + std::vector v = {2, 3, 5, 7, 11, 13}; + auto range = make_range(v.begin(), v.end()); + int index = 0; + for (int prime : range) { + ASSERT_LT(index, v.size()); + EXPECT_EQ(v[index], prime); + ++index; + } + EXPECT_EQ(v.size(), index); +} + +TEST(IteratorRange, PartArray) { + int v[] = {2, 3, 5, 7, 11, 13}; + iterator_range range(&v[1], &v[4]); // 3, 5, 7 + int index = 1; + for (int prime : range) { + ASSERT_LT(index, TF_ARRAYSIZE(v)); + EXPECT_EQ(v[index], prime); + ++index; + } + EXPECT_EQ(4, index); +} + +TEST(IteratorRange, ArrayMakeRange) { + int v[] = {2, 3, 5, 7, 11, 13}; + auto range = make_range(&v[1], &v[4]); // 3, 5, 7 + int index = 1; + for (int prime : range) { + ASSERT_LT(index, TF_ARRAYSIZE(v)); + EXPECT_EQ(v[index], prime); + ++index; + } + EXPECT_EQ(4, index); +} +} // namespace +} // namespace gtl +} // namespace tensorflow -- cgit v1.2.3