11// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
22
3- #include < vespa/document/fieldvalue/fieldvalues .h>
3+ #include < vespa/document/datatype/mapdatatype .h>
44#include < vespa/document/datatype/structdatatype.h>
55#include < vespa/document/datatype/weightedsetdatatype.h>
6- #include < vespa/document/datatype/mapdatatype.h>
6+ #include < vespa/document/fieldvalue/fieldvalues.h>
7+ #include < vespa/vespalib/data/slime/slime.h>
8+ #include < vespa/vespalib/data/smart_buffer.h>
9+ #include < vespa/vespalib/gtest/gtest.h>
710#include < vespa/vsm/common/docsum.h>
811#include < vespa/vsm/common/storagedocument.h>
912#include < vespa/vsm/vsm/flattendocsumwriter.h>
10- #include < vespa/vespalib/data/smart_buffer.h>
11- #include < vespa/vespalib/data/slime/slime.h>
12- #include < vespa/vespalib/gtest/gtest.h>
1313
1414using namespace document ;
1515
1616namespace vsm {
1717
18- template <typename T>
19- class Vector : public std ::vector<T>
20- {
18+ template <typename T> class Vector : public std ::vector<T> {
2119public:
22- Vector<T> & add (T v) { this ->push_back (v); return *this ; }
20+ Vector<T>& add (T v) {
21+ this ->push_back (v);
22+ return *this ;
23+ }
2324};
2425
2526using StringList = Vector<std::string>;
26- using WeightedStringList = Vector<std::pair<std::string, int32_t > >;
27+ using WeightedStringList = Vector<std::pair<std::string, int32_t >>;
2728
28-
29- class TestDocument : public vsm ::Document
30- {
29+ class TestDocument : public vsm ::Document {
3130private:
3231 std::vector<FieldValueContainer> _fields;
3332
3433public:
35- TestDocument (const search::DocumentIdT & docId, size_t numFields) : vsm::Document(docId, numFields), _fields(numFields) {}
34+ TestDocument (const search::DocumentIdT& docId, size_t numFields)
35+ : vsm::Document(docId, numFields), _fields(numFields) {}
3636 bool setField (FieldIdT fId , document::FieldValue::UP fv) override {
3737 if (fId < _fields.size ()) {
3838 _fields[fId ].reset (fv.release ());
3939 return true ;
4040 }
4141 return false ;
4242 }
43- const document::FieldValue * getField (FieldIdT fId ) const override {
43+ const document::FieldValue* getField (FieldIdT fId ) const override {
4444 if (fId < _fields.size ()) {
4545 return _fields[fId ].get ();
4646 }
4747 return nullptr ;
4848 }
4949};
5050
51-
52- class DocsumTest : public ::testing::Test
53- {
51+ class DocsumTest : public ::testing::Test {
5452protected:
55- ArrayFieldValue createFieldValue (const StringList & fv);
56- WeightedSetFieldValue createFieldValue (const WeightedStringList & fv);
53+ ArrayFieldValue createFieldValue (const StringList& fv);
54+ WeightedSetFieldValue createFieldValue (const WeightedStringList& fv);
5755
58- void assertFlattenDocsumWriter (const FieldValue & fv, const std::string & exp, const std::string& label) {
56+ void assertFlattenDocsumWriter (const FieldValue& fv, const std::string& exp, const std::string& label) {
5957 FlattenDocsumWriter fdw;
6058 assertFlattenDocsumWriter (fdw, fv, exp, label);
6159 }
62- void assertFlattenDocsumWriter (FlattenDocsumWriter & fdw, const FieldValue & fv, const std::string & exp, const std::string& label);
60+ void assertFlattenDocsumWriter (FlattenDocsumWriter& fdw, const FieldValue& fv, const std::string& exp,
61+ const std::string& label);
6362
6463 DocsumTest ();
6564 ~DocsumTest () override ;
6665};
6766
68- DocsumTest::DocsumTest ()
69- : ::testing::Test()
70- {
67+ DocsumTest::DocsumTest () : ::testing::Test() {
7168}
7269
7370DocsumTest::~DocsumTest () = default ;
7471
75- ArrayFieldValue
76- DocsumTest::createFieldValue (const StringList & fv)
77- {
72+ ArrayFieldValue DocsumTest::createFieldValue (const StringList& fv) {
7873
7974 static ArrayDataType type (*DataType::STRING);
80- ArrayFieldValue afv (type);
75+ ArrayFieldValue afv (type);
8176 for (size_t i = 0 ; i < fv.size (); ++i) {
8277 afv.add (StringFieldValue (fv[i]));
8378 }
8479 return afv;
8580}
8681
87- WeightedSetFieldValue
88- DocsumTest::createFieldValue (const WeightedStringList & fv)
89- {
82+ WeightedSetFieldValue DocsumTest::createFieldValue (const WeightedStringList& fv) {
9083 static WeightedSetDataType type (*DataType::STRING, false , false );
91- WeightedSetFieldValue wsfv (type);
84+ WeightedSetFieldValue wsfv (type);
9285 for (size_t i = 0 ; i < fv.size (); ++i) {
9386 wsfv.add (StringFieldValue (fv[i].first ), fv[i].second );
9487 }
9588 return wsfv;
9689}
9790
98- void
99- DocsumTest::assertFlattenDocsumWriter (FlattenDocsumWriter & fdw, const FieldValue & fv, const std::string & exp, const std::string& label)
100- {
91+ void DocsumTest::assertFlattenDocsumWriter (FlattenDocsumWriter& fdw, const FieldValue& fv, const std::string& exp,
92+ const std::string& label) {
10193 SCOPED_TRACE (label);
10294 FieldPath empty;
10395 fv.iterateNested (empty.getFullRange (), fdw);
10496 std::string actual (fdw.getResult ().getBuffer (), fdw.getResult ().getPos ());
10597 EXPECT_EQ (exp, actual);
10698}
10799
108- TEST_F (DocsumTest, flatten_docsum_writer_basic)
109- {
100+ TEST_F (DocsumTest, flatten_docsum_writer_basic) {
110101 assertFlattenDocsumWriter (StringFieldValue (" foo bar" ), " foo bar" , " string foo bar" );
111102 assertFlattenDocsumWriter (RawFieldValue (" foo bar" ), " foo bar" , " raw foo bar" );
112103 assertFlattenDocsumWriter (BoolFieldValue (true ), " true" , " bool true" );
113104 assertFlattenDocsumWriter (BoolFieldValue (false ), " false" , " bool false" );
114105 assertFlattenDocsumWriter (LongFieldValue (123456789 ), " 123456789" , " long" );
115106 assertFlattenDocsumWriter (createFieldValue (StringList ().add (" foo bar" ).add (" baz" ).add (" qux " )),
116- " foo bar baz qux " , " wset" );
107+ " foo bar baz qux " , " wset" );
117108}
118109
119- TEST_F (DocsumTest, flatten_docsum_writer_multiple_invocations)
120- {
110+ TEST_F (DocsumTest, flatten_docsum_writer_multiple_invocations) {
121111 FlattenDocsumWriter fdw (" #" );
122112 assertFlattenDocsumWriter (fdw, StringFieldValue (" foo" ), " foo" , " string foo" );
123113 assertFlattenDocsumWriter (fdw, StringFieldValue (" bar" ), " foo#bar" , " string bar" );
@@ -126,24 +116,23 @@ TEST_F(DocsumTest, flatten_docsum_writer_multiple_invocations)
126116 assertFlattenDocsumWriter (fdw, StringFieldValue (" qux" ), " baz qux" , " string qux" );
127117}
128118
129- TEST_F (DocsumTest, flatten_docsum_writer_resizing)
130- {
119+ TEST_F (DocsumTest, flatten_docsum_writer_resizing) {
131120 FlattenDocsumWriter fdw (" #" );
132121 EXPECT_EQ (fdw.getResult ().getPos (), 0u );
133122 EXPECT_EQ (fdw.getResult ().getLength (), 32u );
134123 assertFlattenDocsumWriter (fdw, StringFieldValue (" aaaabbbbccccddddeeeeffffgggghhhh" ),
135- " aaaabbbbccccddddeeeeffffgggghhhh" ,
136- " string long" );
124+ " aaaabbbbccccddddeeeeffffgggghhhh" , " string long" );
137125 EXPECT_EQ (fdw.getResult ().getPos (), 32u );
138126 EXPECT_EQ (fdw.getResult ().getLength (), 32u );
139- assertFlattenDocsumWriter (fdw, StringFieldValue (" aaaa" ), " aaaabbbbccccddddeeeeffffgggghhhh#aaaa" , " string second long" );
127+ assertFlattenDocsumWriter (fdw, StringFieldValue (" aaaa" ), " aaaabbbbccccddddeeeeffffgggghhhh#aaaa" ,
128+ " string second long" );
140129 EXPECT_EQ (fdw.getResult ().getPos (), 37u );
141130 EXPECT_TRUE (fdw.getResult ().getLength () >= 37u );
142131 fdw.clear ();
143132 EXPECT_EQ (fdw.getResult ().getPos (), 0u );
144133 EXPECT_TRUE (fdw.getResult ().getLength () >= 37u );
145134}
146135
147- }
136+ } // namespace vsm
148137
149138GTEST_MAIN_RUN_ALL_TESTS ()
0 commit comments