@@ -1108,6 +1108,37 @@ class TestJSONWithLocalFile : public ::testing::Test {
11081108 }
11091109};
11101110
1111+ TEST_F (TestJSONWithLocalFile, JSONOutputWithStatistics) {
1112+ std::string json_output = R"###( {
1113+ "FileName": "nested_lists.snappy.parquet",
1114+ "Version": "1.0",
1115+ "CreatedBy": "parquet-mr version 1.8.2 (build c6522788629e590a53eb79874b95f6c3ff11f16c)",
1116+ "TotalRows": "3",
1117+ "NumberOfRowGroups": "1",
1118+ "NumberOfRealColumns": "2",
1119+ "NumberOfColumns": "2",
1120+ "Columns": [
1121+ { "Id": "0", "Name": "a.list.element.list.element.list.element", "PhysicalType": "BYTE_ARRAY", "ConvertedType": "UTF8", "LogicalType": {"Type": "String"} },
1122+ { "Id": "1", "Name": "b", "PhysicalType": "INT32", "ConvertedType": "NONE", "LogicalType": {"Type": "None"} }
1123+ ],
1124+ "RowGroups": [
1125+ {
1126+ "Id": "0", "TotalBytes": "155", "TotalCompressedBytes": "0", "Rows": "3",
1127+ "ColumnChunks": [
1128+ {"Id": "0", "Values": "18", "StatsSet": "False",
1129+ "Compression": "SNAPPY", "Encodings": "PLAIN_DICTIONARY(DICT_PAGE) PLAIN_DICTIONARY", "UncompressedSize": "103", "CompressedSize": "104" },
1130+ {"Id": "1", "Values": "3", "StatsSet": "True", "Stats": {"NumNulls": "0", "Max": "1", "Min": "1", "IsMaxValueExact": "unknown", "IsMinValueExact": "unknown" },
1131+ "Compression": "SNAPPY", "Encodings": "PLAIN_DICTIONARY(DICT_PAGE) PLAIN_DICTIONARY", "UncompressedSize": "52", "CompressedSize": "56" }
1132+ ]
1133+ }
1134+ ]
1135+ }
1136+ )###" ;
1137+
1138+ std::string json_content = ReadFromLocalFile (" nested_lists.snappy.parquet" );
1139+ ASSERT_EQ (json_output, json_content);
1140+ }
1141+
11111142TEST_F (TestJSONWithLocalFile, JSONOutput) {
11121143 std::string json_output = R"###( {
11131144 "FileName": "alltypes_plain.parquet",
0 commit comments