From fc08f4f61b09c737d5fb84e557a3ee831cfce806 Mon Sep 17 00:00:00 2001 From: ylavic Date: Thu, 1 Apr 2021 18:19:53 +0200 Subject: [PATCH] Tests for Members in std::multimap. --- bin/types/alotofkeys.json | Bin 0 -> 30003 bytes test/perftest/perftest.h | 9 +++++---- test/perftest/rapidjsontest.cpp | 22 ++++++++++++++++++++-- 3 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 bin/types/alotofkeys.json diff --git a/bin/types/alotofkeys.json b/bin/types/alotofkeys.json new file mode 100644 index 0000000000000000000000000000000000000000..3fc052e34fdd414108ae7d6f1ce0ef1213e175fd GIT binary patch literal 30003 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 +#include #ifdef RAPIDJSON_SSE2 #define SIMD_SUFFIX(name) name##_SSE2 @@ -52,7 +53,7 @@ public: // Parse as a document EXPECT_FALSE(doc_.Parse(json_).HasParseError()); - for (size_t i = 0; i < 7; i++) + for (size_t i = 0; i < 8; i++) EXPECT_FALSE(typesDoc_[i].Parse(types_[i]).HasParseError()); } @@ -68,7 +69,7 @@ private: protected: char *temp_; Document doc_; - Document typesDoc_[7]; + Document typesDoc_[8]; }; TEST_F(RapidJson, SIMD_SUFFIX(ReaderParseInsitu_DummyHandler)) { @@ -335,6 +336,23 @@ TEST_F(RapidJson, DocumentAccept) { } } +TEST_F(RapidJson, DocumentFind) { + typedef Document::ValueType ValueType; + typedef ValueType::ConstMemberIterator ConstMemberIterator; + const Document &doc = typesDoc_[7]; // alotofkeys.json + if (doc.IsObject()) { + std::vector keys; + for (ConstMemberIterator it = doc.MemberBegin(); it != doc.MemberEnd(); ++it) { + keys.push_back(&it->name); + } + for (size_t i = 0; i < kTrialCount; i++) { + for (size_t j = 0; j < keys.size(); j++) { + EXPECT_TRUE(doc.FindMember(*keys[j]) != doc.MemberEnd()); + } + } + } +} + struct NullStream { typedef char Ch;