@@ -149,9 +149,9 @@ template <typename T, typename C_TYPE = typename T::c_type>
149
149
void AssertJSONScalar (const std::shared_ptr<DataType>& type, const std::string& json,
150
150
const bool is_valid, const C_TYPE value) {
151
151
SCOPED_TRACE (json);
152
- std::shared_ptr<Scalar> actual, expected;
152
+ std::shared_ptr<Scalar> expected;
153
153
154
- ASSERT_OK ( ScalarFromJSONString (type, json, &actual ));
154
+ ASSERT_OK_AND_ASSIGN ( auto actual, ScalarFromJSONString (type, json));
155
155
if (is_valid) {
156
156
ASSERT_OK_AND_ASSIGN (expected, MakeScalar (type, value));
157
157
} else {
@@ -1471,35 +1471,33 @@ TEST(TestDictArrayFromJSON, Basics) {
1471
1471
1472
1472
TEST (TestDictArrayFromJSON, Errors) {
1473
1473
auto type = dictionary (int32 (), utf8 ());
1474
- std::shared_ptr<Array> array;
1475
1474
1476
- ASSERT_RAISES (Invalid, DictArrayFromJSONString (type, " [ \" not a valid index \" ] " ,
1477
- " [\"\" ]" , &array ));
1478
- ASSERT_RAISES (Invalid, DictArrayFromJSONString (type, " [0, 1]" , " [1] " ,
1479
- &array )); // dict value isn't string
1475
+ ASSERT_RAISES (Invalid,
1476
+ DictArrayFromJSONString (type, " [ \" not a valid index \" ] " , " [\"\" ]" ));
1477
+ ASSERT_RAISES (Invalid, DictArrayFromJSONString (type, " [0, 1]" ,
1478
+ " [1] " )); // dict value isn't string
1480
1479
}
1481
1480
1482
1481
TEST (TestChunkedArrayFromJSON, Basics) {
1483
1482
auto type = int32 ();
1484
- std::shared_ptr<ChunkedArray> chunked_array;
1485
- ASSERT_OK (ChunkedArrayFromJSONString (type, {}, &chunked_array));
1483
+ ASSERT_OK_AND_ASSIGN (auto chunked_array, ChunkedArrayFromJSONString (type, {}));
1486
1484
ASSERT_OK (chunked_array->ValidateFull ());
1487
1485
ASSERT_EQ (chunked_array->num_chunks (), 0 );
1488
1486
AssertTypeEqual (type, chunked_array->type ());
1489
1487
1490
- ASSERT_OK (ChunkedArrayFromJSONString (type, {" [1, 2]" , " [3, null, 4]" }, &chunked_array));
1491
- ASSERT_OK (chunked_array->ValidateFull ());
1492
- ASSERT_EQ (chunked_array->num_chunks (), 2 );
1488
+ ASSERT_OK_AND_ASSIGN (auto chunked_array_two,
1489
+ ChunkedArrayFromJSONString (type, {" [1, 2]" , " [3, null, 4]" }));
1490
+ ASSERT_OK (chunked_array_two->ValidateFull ());
1491
+ ASSERT_EQ (chunked_array_two->num_chunks (), 2 );
1493
1492
std::shared_ptr<Array> expected_chunk;
1494
1493
ASSERT_OK_AND_ASSIGN (expected_chunk, ArrayFromJSONString (type, " [1, 2]" ));
1495
- AssertArraysEqual (*expected_chunk, *chunked_array ->chunk (0 ), /* verbose=*/ true );
1494
+ AssertArraysEqual (*expected_chunk, *chunked_array_two ->chunk (0 ), /* verbose=*/ true );
1496
1495
ASSERT_OK_AND_ASSIGN (expected_chunk, ArrayFromJSONString (type, " [3, null, 4]" ));
1497
- AssertArraysEqual (*expected_chunk, *chunked_array ->chunk (1 ), /* verbose=*/ true );
1496
+ AssertArraysEqual (*expected_chunk, *chunked_array_two ->chunk (1 ), /* verbose=*/ true );
1498
1497
}
1499
1498
1500
1499
TEST (TestScalarFromJSON, Basics) {
1501
1500
// Sanity check for common types (not exhaustive)
1502
- std::shared_ptr<Scalar> scalar;
1503
1501
AssertJSONScalar<Int64Type>(int64 (), " 4" , true , 4 );
1504
1502
AssertJSONScalar<Int64Type>(int64 (), " null" , false , 0 );
1505
1503
AssertJSONScalar<StringType, std::shared_ptr<Buffer>>(utf8 (), R"( "")" , true ,
@@ -1516,25 +1514,22 @@ TEST(TestScalarFromJSON, Basics) {
1516
1514
AssertJSONScalar<BooleanType, bool >(boolean (), " 1" , true , true );
1517
1515
AssertJSONScalar<DoubleType>(float64 (), " 1.0" , true , 1.0 );
1518
1516
AssertJSONScalar<DoubleType>(float64 (), " -0.0" , true , -0.0 );
1519
- ASSERT_OK ( ScalarFromJSONString (float64 (), " NaN" , &scalar ));
1520
- ASSERT_TRUE (std::isnan (checked_cast<DoubleScalar&>(*scalar ).value ));
1521
- ASSERT_OK ( ScalarFromJSONString (float64 (), " Inf" , &scalar ));
1522
- ASSERT_TRUE (std::isinf (checked_cast<DoubleScalar&>(*scalar ).value ));
1517
+ ASSERT_OK_AND_ASSIGN ( auto nan_scalar, ScalarFromJSONString (float64 (), " NaN" ));
1518
+ ASSERT_TRUE (std::isnan (checked_cast<DoubleScalar&>(*nan_scalar ).value ));
1519
+ ASSERT_OK_AND_ASSIGN ( auto inf_scalar, ScalarFromJSONString (float64 (), " Inf" ));
1520
+ ASSERT_TRUE (std::isinf (checked_cast<DoubleScalar&>(*inf_scalar ).value ));
1523
1521
}
1524
1522
1525
1523
TEST (TestScalarFromJSON, Errors) {
1526
- std::shared_ptr<Scalar> scalar;
1527
- ASSERT_RAISES (Invalid, ScalarFromJSONString (int64 (), " [0]" , &scalar));
1528
- ASSERT_RAISES (Invalid, ScalarFromJSONString (int64 (), " [9223372036854775808]" , &scalar));
1529
- ASSERT_RAISES (Invalid,
1530
- ScalarFromJSONString (int64 (), " [-9223372036854775809]" , &scalar));
1531
- ASSERT_RAISES (Invalid,
1532
- ScalarFromJSONString (uint64 (), " [18446744073709551616]" , &scalar));
1533
- ASSERT_RAISES (Invalid, ScalarFromJSONString (uint64 (), " [-1]" , &scalar));
1534
- ASSERT_RAISES (Invalid, ScalarFromJSONString (binary (), " 0" , &scalar));
1535
- ASSERT_RAISES (Invalid, ScalarFromJSONString (binary (), " []" , &scalar));
1536
- ASSERT_RAISES (Invalid, ScalarFromJSONString (boolean (), " 0.0" , &scalar));
1537
- ASSERT_RAISES (Invalid, ScalarFromJSONString (boolean (), " \" true\" " , &scalar));
1524
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (int64 (), " [0]" ));
1525
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (int64 (), " [9223372036854775808]" ));
1526
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (int64 (), " [-9223372036854775809]" ));
1527
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (uint64 (), " [18446744073709551616]" ));
1528
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (uint64 (), " [-1]" ));
1529
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (binary (), " 0" ));
1530
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (binary (), " []" ));
1531
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (boolean (), " 0.0" ));
1532
+ ASSERT_RAISES (Invalid, ScalarFromJSONString (boolean (), " \" true\" " ));
1538
1533
}
1539
1534
1540
1535
TEST (TestDictScalarFromJSONString, Basics) {
@@ -1553,12 +1548,11 @@ TEST(TestDictScalarFromJSONString, Basics) {
1553
1548
1554
1549
TEST (TestDictScalarFromJSONString, Errors) {
1555
1550
auto type = dictionary (int32 (), utf8 ());
1556
- std::shared_ptr<Scalar> scalar;
1557
1551
1558
- ASSERT_RAISES (Invalid, DictScalarFromJSONString (type, " \" not a valid index \" " , " [ \"\" ] " ,
1559
- &scalar ));
1560
- ASSERT_RAISES (Invalid, DictScalarFromJSONString (type, " 0 " , " [1] " ,
1561
- &scalar )); // dict value isn't string
1552
+ ASSERT_RAISES (Invalid,
1553
+ DictScalarFromJSONString (type, " \" not a valid index \" " , " [ \"\" ] " ));
1554
+ ASSERT_RAISES (Invalid,
1555
+ DictScalarFromJSONString (type, " 0 " , " [1] " )); // dict value isn't string
1562
1556
}
1563
1557
1564
1558
} // namespace json
0 commit comments