From 9f09ea737bb1729d73710546befe98c96679bee7 Mon Sep 17 00:00:00 2001 From: Angus Hollands Date: Thu, 6 Oct 2022 10:17:41 +0100 Subject: [PATCH] test: update form usage in old tests we want to move away from legacy-style `RecordArray` forms, so old tests must be changed. There is now a test to ensure that old-style forms are compatible with new-style forms. --- tests/test_0025-record-array.py | 26 ++-- tests/test_0057-introducing-forms.py | 20 +-- tests/test_0914-types-and-forms.py | 96 ++++++++------ ...958-new-forms-must-accept-old-form-json.py | 119 ++++++++++-------- 4 files changed, 155 insertions(+), 106 deletions(-) diff --git a/tests/test_0025-record-array.py b/tests/test_0025-record-array.py index 73f8a203c5..962284b566 100644 --- a/tests/test_0025-record-array.py +++ b/tests/test_0025-record-array.py @@ -43,8 +43,9 @@ def test_basic(): assert json.loads(ak.forms.form.Form.to_json(recordarray.form)) == ( { "class": "RecordArray", - "contents": { - "one": { + "fields": ["one", "two", "2", "wonky"], + "contents": [ + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -52,7 +53,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "two": { + { "class": "ListOffsetArray", "offsets": "i64", "content": { @@ -67,7 +68,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "2": { + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -75,7 +76,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "wonky": { + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -83,7 +84,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -135,8 +136,9 @@ def test_basic(): assert json.loads(ak.forms.form.Form.to_json(recordarray.form)) == { "class": "RecordArray", - "contents": { - "one": { + "fields": ["one", "two", "2", "wonky"], + "contents": [ + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -144,7 +146,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "two": { + { "class": "ListOffsetArray", "offsets": "i64", "content": { @@ -159,7 +161,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "2": { + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -167,7 +169,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - "wonky": { + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -175,7 +177,7 @@ def test_basic(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, diff --git a/tests/test_0057-introducing-forms.py b/tests/test_0057-introducing-forms.py index 7dd5123787..e0e92bf929 100644 --- a/tests/test_0057-introducing-forms.py +++ b/tests/test_0057-introducing-forms.py @@ -265,8 +265,9 @@ def test_forms(): assert ak.forms.from_json(form.to_json()) == form assert json.loads(form.to_json()) == { "class": "RecordArray", - "contents": { - "one": { + "fields": ["one", "two"], + "contents": [ + { "class": "NumpyArray", "inner_shape": [], "primitive": "float64", @@ -274,7 +275,7 @@ def test_forms(): "parameters": {}, "form_key": None, }, - "two": { + { "class": "NumpyArray", "inner_shape": [], "primitive": "bool", @@ -282,17 +283,18 @@ def test_forms(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {"hey": ["you"]}, "form_key": "yowzers", } assert json.loads(str(form)) == { "class": "RecordArray", - "contents": { - "one": "float64", - "two": "bool", - }, + "fields": ["one", "two"], + "contents": [ + "float64", + "bool", + ], "parameters": {"hey": ["you"]}, "form_key": "yowzers", } @@ -308,6 +310,7 @@ def test_forms(): assert ak.forms.from_json(form.to_json()) == form assert json.loads(form.to_json()) == { "class": "RecordArray", + "fields": None, "contents": [ { "class": "NumpyArray", @@ -332,6 +335,7 @@ def test_forms(): } assert json.loads(str(form)) == { "class": "RecordArray", + "fields": None, "contents": ["float64", "bool"], "parameters": {"hey": ["you"]}, "form_key": "yowzers", diff --git a/tests/test_0914-types-and-forms.py b/tests/test_0914-types-and-forms.py index 3140aa5f71..c52f8b297c 100644 --- a/tests/test_0914-types-and-forms.py +++ b/tests/test_0914-types-and-forms.py @@ -2581,6 +2581,7 @@ def test_RecordForm(): ) == """{ "class": "RecordArray", + "fields": null, "contents": [ { "class": "EmptyArray" @@ -2601,12 +2602,16 @@ def test_RecordForm(): ) == """{ "class": "RecordArray", - "contents": { - "x": { + "fields": [ + "x", + "y" + ], + "contents": [ + { "class": "EmptyArray" }, - "y": "bool" - } + "bool" + ] }""" ) assert ( @@ -2624,6 +2629,7 @@ def test_RecordForm(): ) == """{ "class": "RecordArray", + "fields": null, "contents": [ { "class": "EmptyArray" @@ -2652,12 +2658,16 @@ def test_RecordForm(): ) == """{ "class": "RecordArray", - "contents": { - "x": { + "fields": [ + "x", + "y" + ], + "contents": [ + { "class": "EmptyArray" }, - "y": "bool" - }, + "bool" + ], "has_identifier": true, "parameters": { "x": 123 @@ -2726,6 +2736,7 @@ def test_RecordForm(): None, ).to_dict(verbose=False) == { "class": "RecordArray", + "fields": None, "contents": [ {"class": "EmptyArray"}, "bool", @@ -2736,16 +2747,18 @@ def test_RecordForm(): ["x", "y"], ).to_dict(verbose=False) == { "class": "RecordArray", - "contents": { - "x": {"class": "EmptyArray"}, - "y": "bool", - }, + "fields": ["x", "y"], + "contents": [ + {"class": "EmptyArray"}, + "bool", + ], } assert ak.forms.recordform.RecordForm( [ak.forms.emptyform.EmptyForm(), ak.forms.numpyform.NumpyForm("bool")], None, ).to_dict() == { "class": "RecordArray", + "fields": None, "contents": [ { "class": "EmptyArray", @@ -2771,14 +2784,15 @@ def test_RecordForm(): ["x", "y"], ).to_dict() == { "class": "RecordArray", - "contents": { - "x": { + "fields": ["x", "y"], + "contents": [ + { "class": "EmptyArray", "has_identifier": False, "parameters": {}, "form_key": None, }, - "y": { + { "class": "NumpyArray", "primitive": "bool", "inner_shape": [], @@ -2786,7 +2800,7 @@ def test_RecordForm(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -2802,6 +2816,7 @@ def test_RecordForm(): form_key="hello", ).to_dict(verbose=False) == { "class": "RecordArray", + "fields": None, "contents": [ {"class": "EmptyArray"}, "bool", @@ -2821,10 +2836,11 @@ def test_RecordForm(): form_key="hello", ).to_dict(verbose=False) == { "class": "RecordArray", - "contents": { - "x": {"class": "EmptyArray"}, - "y": "bool", - }, + "fields": ["x", "y"], + "contents": [ + {"class": "EmptyArray"}, + "bool", + ], "has_identifier": True, "parameters": {"x": 123}, "form_key": "hello", @@ -2832,6 +2848,7 @@ def test_RecordForm(): assert ak.forms.from_dict( { "class": "RecordArray", + "fields": None, "contents": [ {"class": "EmptyArray"}, "bool", @@ -2839,6 +2856,7 @@ def test_RecordForm(): } ).to_dict() == { "class": "RecordArray", + "fields": None, "contents": [ { "class": "EmptyArray", @@ -2862,21 +2880,23 @@ def test_RecordForm(): assert ak.forms.from_dict( { "class": "RecordArray", - "contents": { - "x": {"class": "EmptyArray"}, - "y": "bool", - }, + "fields": ["x", "y"], + "contents": [ + {"class": "EmptyArray"}, + "bool", + ], } ).to_dict() == { "class": "RecordArray", - "contents": { - "x": { + "fields": ["x", "y"], + "contents": [ + { "class": "EmptyArray", "has_identifier": False, "parameters": {}, "form_key": None, }, - "y": { + { "class": "NumpyArray", "primitive": "bool", "inner_shape": [], @@ -2884,7 +2904,7 @@ def test_RecordForm(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -2892,6 +2912,7 @@ def test_RecordForm(): assert ak.forms.from_dict( { "class": "RecordArray", + "fields": None, "contents": [ {"class": "EmptyArray"}, "bool", @@ -2902,6 +2923,7 @@ def test_RecordForm(): } ).to_dict(verbose=False) == { "class": "RecordArray", + "fields": None, "contents": [ {"class": "EmptyArray"}, "bool", @@ -2913,20 +2935,22 @@ def test_RecordForm(): assert ak.forms.from_dict( { "class": "RecordArray", - "contents": { - "x": {"class": "EmptyArray"}, - "y": "bool", - }, + "fields": ["x", "y"], + "contents": [ + {"class": "EmptyArray"}, + "bool", + ], "has_identifier": True, "parameters": {"x": 123}, "form_key": "hello", } ).to_dict(verbose=False) == { "class": "RecordArray", - "contents": { - "x": {"class": "EmptyArray"}, - "y": "bool", - }, + "fields": ["x", "y"], + "contents": [ + {"class": "EmptyArray"}, + "bool", + ], "has_identifier": True, "parameters": {"x": 123}, "form_key": "hello", diff --git a/tests/test_0958-new-forms-must-accept-old-form-json.py b/tests/test_0958-new-forms-must-accept-old-form-json.py index 16508e9687..a9121a453a 100644 --- a/tests/test_0958-new-forms-must-accept-old-form-json.py +++ b/tests/test_0958-new-forms-must-accept-old-form-json.py @@ -141,8 +141,9 @@ def test_RecordArray_NumpyArray(): v2 = ak.forms.from_dict(v1).to_dict() assert v2 == { "class": "RecordArray", - "contents": { - "x": { + "fields": ["x", "y"], + "contents": [ + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -150,7 +151,7 @@ def test_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, }, - "y": { + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -158,7 +159,7 @@ def test_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, }, - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -170,6 +171,7 @@ def test_RecordArray_NumpyArray(): v2 = ak.forms.from_dict(v1).to_dict() assert v2 == { "class": "RecordArray", + "fields": None, "contents": [ { "class": "NumpyArray", @@ -199,7 +201,8 @@ def test_RecordArray_NumpyArray(): v2 = ak.forms.from_dict(v1).to_dict() assert v2 == { "class": "RecordArray", - "contents": {}, + "fields": [], + "contents": [], "has_identifier": False, "parameters": {}, "form_key": None, @@ -211,6 +214,7 @@ def test_RecordArray_NumpyArray(): v2 = ak.forms.from_dict(v1).to_dict() assert v2 == { "class": "RecordArray", + "fields": None, "contents": [], "has_identifier": False, "parameters": {}, @@ -460,8 +464,9 @@ def test_RegularArray_RecordArray_NumpyArray(): "size": 3, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -469,7 +474,7 @@ def test_RegularArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -488,14 +493,15 @@ def test_RegularArray_RecordArray_NumpyArray(): "size": 0, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "EmptyArray", "has_identifier": False, "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -517,8 +523,9 @@ def test_ListArray_RecordArray_NumpyArray(): "stops": "i64", "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -526,7 +533,7 @@ def test_ListArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -547,8 +554,9 @@ def test_ListOffsetArray_RecordArray_NumpyArray(): "offsets": "i64", "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -556,7 +564,7 @@ def test_ListOffsetArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -577,8 +585,9 @@ def test_IndexedArray_RecordArray_NumpyArray(): "index": "i64", "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -586,7 +595,7 @@ def test_IndexedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -607,8 +616,9 @@ def test_IndexedOptionArray_RecordArray_NumpyArray(): "index": "i64", "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -616,7 +626,7 @@ def test_IndexedOptionArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -638,8 +648,9 @@ def test_ByteMaskedArray_RecordArray_NumpyArray(): "valid_when": True, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -647,7 +658,7 @@ def test_ByteMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -667,8 +678,9 @@ def test_ByteMaskedArray_RecordArray_NumpyArray(): "valid_when": False, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -676,7 +688,7 @@ def test_ByteMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -699,8 +711,9 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "lsb_order": False, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -708,7 +721,7 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -729,8 +742,9 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "lsb_order": False, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -738,7 +752,7 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -759,8 +773,9 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "lsb_order": True, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -768,7 +783,7 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -789,8 +804,9 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "lsb_order": True, "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -798,7 +814,7 @@ def test_BitMaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -818,8 +834,9 @@ def test_UnmaskedArray_RecordArray_NumpyArray(): "class": "UnmaskedArray", "content": { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -827,7 +844,7 @@ def test_UnmaskedArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, @@ -850,8 +867,9 @@ def test_UnionArray_RecordArray_NumpyArray(): "contents": [ { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "int64", "inner_shape": [], @@ -859,15 +877,16 @@ def test_UnionArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None, }, { "class": "RecordArray", - "contents": { - "nest": { + "fields": ["nest"], + "contents": [ + { "class": "NumpyArray", "primitive": "float64", "inner_shape": [], @@ -875,7 +894,7 @@ def test_UnionArray_RecordArray_NumpyArray(): "parameters": {}, "form_key": None, } - }, + ], "has_identifier": False, "parameters": {}, "form_key": None,