From 0df8378971553a203cc6982a298f342baecae543 Mon Sep 17 00:00:00 2001 From: Gil Date: Thu, 19 Apr 2018 11:30:29 -0700 Subject: Implement iterators for our immutable maps (#1132) * Add a minimal LlrbNodeIterator * Remove fixed_size type parameter from FixedArray The parameter wasn't that useful and caused problems in trying to define dependent iterator types. * Add begin()/end() to SortedMap. --- .../core/test/firebase/firestore/immutable/testing.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'Firestore/core/test/firebase/firestore/immutable/testing.h') diff --git a/Firestore/core/test/firebase/firestore/immutable/testing.h b/Firestore/core/test/firebase/firestore/immutable/testing.h index 337140f..0b25b66 100644 --- a/Firestore/core/test/firebase/firestore/immutable/testing.h +++ b/Firestore/core/test/firebase/firestore/immutable/testing.h @@ -144,16 +144,26 @@ Container ToMap(const std::vector& values) { return result; } +template +std::vector Keys(const Container& container) { + std::vector keys; + for (const auto& element : container) { + keys.push_back(element.first); + } + return keys; +} + /** * Appends the contents of the given container to a new vector. */ template -std::vector Append(const Container& container) { +std::vector Collect( + const Container& container) { return {container.begin(), container.end()}; } -#define ASSERT_SEQ_EQ(x, y) ASSERT_EQ((x), Append(y)); -#define EXPECT_SEQ_EQ(x, y) EXPECT_EQ((x), Append(y)); +#define ASSERT_SEQ_EQ(x, y) ASSERT_EQ((x), Collect(y)); +#define EXPECT_SEQ_EQ(x, y) EXPECT_EQ((x), Collect(y)); } // namespace immutable } // namespace firestore -- cgit v1.2.3