Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(592)

Unified Diff: mojo/public/cpp/bindings/tests/iterator_test_util.h

Issue 2250183003: Make the fuchsia mojo/public repo the source of truth. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/public/cpp/bindings/tests/iterator_test_util.h
diff --git a/mojo/public/cpp/bindings/tests/iterator_test_util.h b/mojo/public/cpp/bindings/tests/iterator_test_util.h
deleted file mode 100644
index ce525296d6e21ff65a38d90cb0acb6b587897c13..0000000000000000000000000000000000000000
--- a/mojo/public/cpp/bindings/tests/iterator_test_util.h
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_ITERATOR_TEST_UTIL_H_
-#define MOJO_PUBLIC_CPP_BINDINGS_TESTS_ITERATOR_TEST_UTIL_H_
-
-#include <algorithm>
-#include <vector>
-
-#include "gtest/gtest.h"
-
-namespace mojo {
-namespace test {
-
-template <typename Iterator, typename ValueType>
-void ExpectIteratorValues(Iterator begin,
- Iterator end,
- const std::vector<ValueType>& expected_values) {
- size_t i = 0u;
- for (Iterator it = begin; it != end; ++it, ++i) {
- EXPECT_EQ(*it, expected_values[i]);
- }
- EXPECT_EQ(i, expected_values.size());
-}
-
-// This helper template checks that the specified `Iterator` satisfies the C++
-// BidirectionalIterator concept, as described in:
-// http://en.cppreference.com/w/cpp/concept/BidirectionalIterator.
-//
-// This template will mutate the values in the iterator.
-template <typename Iterator, typename ValueType>
-void ExpectBidiIteratorConcept(Iterator begin,
- Iterator end,
- const std::vector<ValueType>& expected_values) {
- {
- // Default iterator is constructible. Deferencing it is undefined
- // behaviour.
- Iterator default_iter;
- }
-
- // Now we test bidirecionality:
- // Prefix increment.
- Iterator iter1(begin);
- EXPECT_EQ(*iter1, expected_values[0]);
-
- Iterator iter2(begin);
- ++iter2;
-
- EXPECT_NE(iter1, iter2);
- EXPECT_EQ(*iter2, expected_values[1]);
- ++iter1;
- EXPECT_EQ(iter1, iter2);
-
- // Postfix increment.
- Iterator prev_iter2 = iter2++; // element 2
- EXPECT_EQ(*prev_iter2, expected_values[1]);
- EXPECT_EQ(prev_iter2, iter1);
- EXPECT_EQ(*iter2, expected_values[2]);
-
- // Prefix decrement.
- EXPECT_EQ(--iter2, prev_iter2); // element 1
- EXPECT_EQ(--iter1, begin); // element 0
- // Postfix decrement.
- EXPECT_EQ(iter2--, prev_iter2); // element 0
-
- // Equality.
- EXPECT_EQ(iter1, begin);
- EXPECT_NE(++iter2, begin);
-
- // Copy constructible and assignable.
- Iterator iter3 = iter2;
- EXPECT_EQ(iter3, iter2);
- EXPECT_EQ(*iter3, *iter2);
-
- Iterator iter3_cp(iter3);
- EXPECT_EQ(iter3_cp, iter3);
- EXPECT_EQ(*iter3_cp, *iter3);
-
- // Move constructible and assignable.
- Iterator iter3_mv = static_cast<Iterator&&>(iter3);
- Iterator iter3_cp_mv;
- iter3_cp_mv = static_cast<Iterator&&>(iter3_cp);
- EXPECT_EQ(iter3_mv, iter3_cp_mv);
-
- // operator->.
- EXPECT_EQ(*(iter3_mv.operator->()), expected_values[1]);
-
- // Swap two iterators:
- Iterator i1 = begin;
- Iterator i2 = ++begin;
- EXPECT_EQ(*i1, expected_values[0]);
- EXPECT_EQ(*i2, expected_values[1]);
- std::swap(i1, i2);
- EXPECT_EQ(*i1, expected_values[1]);
- EXPECT_EQ(*i2, expected_values[0]);
-}
-
-template <typename Iterator, typename ValueType>
-void ExpectBidiMutableIteratorConcept(
- Iterator begin,
- Iterator end,
- const std::vector<ValueType>& expected_values) {
- Iterator it = begin;
- std::vector<ValueType> values = expected_values;
-
- {
- SCOPED_TRACE("Mutate 1st value.");
- *it = 12;
- values[0] = 12;
- ExpectIteratorValues(begin, end, values);
- }
-
- {
- SCOPED_TRACE("Mutate 2nd value.");
- *++it = 14;
- values[1] = 14;
- ExpectIteratorValues(begin, end, values);
- }
-
- {
- SCOPED_TRACE("Mutate 3rd value.");
- *--it = 22;
- values[0] = 22;
- ExpectIteratorValues(begin, end, values);
- }
-}
-
-} // namespace test
-} // namespace mojo
-
-#endif // MOJO_PUBLIC_CPP_BINDINGS_TESTS_ITERATOR_TEST_UTIL_H_
« no previous file with comments | « mojo/public/cpp/bindings/tests/interface_unittest.cc ('k') | mojo/public/cpp/bindings/tests/iterator_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698