@@ -70,7 +70,7 @@ TEST(valueAt, simpleObject)
7070
7171 auto nested = R"( { "hello": { "world": "" } })" _json;
7272
73- ASSERT_EQ (valueAt (valueAt (getObject (nested), " hello" ), " world" ), " " );
73+ ASSERT_EQ (valueAt (getObject ( valueAt (getObject (nested), " hello" ) ), " world" ), " " );
7474}
7575
7676TEST (valueAt, missingKey)
@@ -119,10 +119,12 @@ TEST(getArray, wrongAssertions)
119119{
120120 auto json = R"( { "object": {}, "array": [], "string": "", "int": 0, "boolean": false })" _json;
121121
122- ASSERT_THROW (getArray (valueAt (json, " object" )), Error);
123- ASSERT_THROW (getArray (valueAt (json, " string" )), Error);
124- ASSERT_THROW (getArray (valueAt (json, " int" )), Error);
125- ASSERT_THROW (getArray (valueAt (json, " boolean" )), Error);
122+ auto & obj = getObject (json);
123+
124+ ASSERT_THROW (getArray (valueAt (obj, " object" )), Error);
125+ ASSERT_THROW (getArray (valueAt (obj, " string" )), Error);
126+ ASSERT_THROW (getArray (valueAt (obj, " int" )), Error);
127+ ASSERT_THROW (getArray (valueAt (obj, " boolean" )), Error);
126128}
127129
128130TEST (getString, rightAssertions)
@@ -136,10 +138,12 @@ TEST(getString, wrongAssertions)
136138{
137139 auto json = R"( { "object": {}, "array": [], "string": "", "int": 0, "boolean": false })" _json;
138140
139- ASSERT_THROW (getString (valueAt (json, " object" )), Error);
140- ASSERT_THROW (getString (valueAt (json, " array" )), Error);
141- ASSERT_THROW (getString (valueAt (json, " int" )), Error);
142- ASSERT_THROW (getString (valueAt (json, " boolean" )), Error);
141+ auto & obj = getObject (json);
142+
143+ ASSERT_THROW (getString (valueAt (obj, " object" )), Error);
144+ ASSERT_THROW (getString (valueAt (obj, " array" )), Error);
145+ ASSERT_THROW (getString (valueAt (obj, " int" )), Error);
146+ ASSERT_THROW (getString (valueAt (obj, " boolean" )), Error);
143147}
144148
145149TEST (getIntegralNumber, rightAssertions)
@@ -156,18 +160,20 @@ TEST(getIntegralNumber, wrongAssertions)
156160 auto json =
157161 R"( { "object": {}, "array": [], "string": "", "int": 0, "signed": -256, "large": 128, "boolean": false })" _json;
158162
159- ASSERT_THROW (getUnsigned (valueAt (json, " object" )), Error);
160- ASSERT_THROW (getUnsigned (valueAt (json, " array" )), Error);
161- ASSERT_THROW (getUnsigned (valueAt (json, " string" )), Error);
162- ASSERT_THROW (getUnsigned (valueAt (json, " boolean" )), Error);
163- ASSERT_THROW (getUnsigned (valueAt (json, " signed" )), Error);
163+ auto & obj = getObject (json);
164+
165+ ASSERT_THROW (getUnsigned (valueAt (obj, " object" )), Error);
166+ ASSERT_THROW (getUnsigned (valueAt (obj, " array" )), Error);
167+ ASSERT_THROW (getUnsigned (valueAt (obj, " string" )), Error);
168+ ASSERT_THROW (getUnsigned (valueAt (obj, " boolean" )), Error);
169+ ASSERT_THROW (getUnsigned (valueAt (obj, " signed" )), Error);
164170
165- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " object" )), Error);
166- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " array" )), Error);
167- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " string" )), Error);
168- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " boolean" )), Error);
169- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " large" )), Error);
170- ASSERT_THROW (getInteger<int8_t >(valueAt (json , " signed" )), Error);
171+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " object" )), Error);
172+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " array" )), Error);
173+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " string" )), Error);
174+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " boolean" )), Error);
175+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " large" )), Error);
176+ ASSERT_THROW (getInteger<int8_t >(valueAt (obj , " signed" )), Error);
171177}
172178
173179TEST (getBoolean, rightAssertions)
@@ -181,24 +187,28 @@ TEST(getBoolean, wrongAssertions)
181187{
182188 auto json = R"( { "object": {}, "array": [], "string": "", "int": 0, "boolean": false })" _json;
183189
184- ASSERT_THROW (getBoolean (valueAt (json, " object" )), Error);
185- ASSERT_THROW (getBoolean (valueAt (json, " array" )), Error);
186- ASSERT_THROW (getBoolean (valueAt (json, " string" )), Error);
187- ASSERT_THROW (getBoolean (valueAt (json, " int" )), Error);
190+ auto & obj = getObject (json);
191+
192+ ASSERT_THROW (getBoolean (valueAt (obj, " object" )), Error);
193+ ASSERT_THROW (getBoolean (valueAt (obj, " array" )), Error);
194+ ASSERT_THROW (getBoolean (valueAt (obj, " string" )), Error);
195+ ASSERT_THROW (getBoolean (valueAt (obj, " int" )), Error);
188196}
189197
190198TEST (optionalValueAt, existing)
191199{
192200 auto json = R"( { "string": "ssh-rsa" })" _json;
193201
194- ASSERT_EQ (optionalValueAt (json, " string" ), std::optional{" ssh-rsa" });
202+ auto * ptr = optionalValueAt (getObject (json), " string" );
203+ ASSERT_TRUE (ptr);
204+ ASSERT_EQ (*ptr, R"( "ssh-rsa")" _json);
195205}
196206
197207TEST (optionalValueAt, empty)
198208{
199209 auto json = R"( {})" _json;
200210
201- ASSERT_EQ (optionalValueAt (json, " string" ), std:: nullopt );
211+ ASSERT_EQ (optionalValueAt (getObject ( json) , " string" ), nullptr );
202212}
203213
204214TEST (getNullable, null)
0 commit comments