@@ -29,20 +29,28 @@ def test_generative_benchmark_invalid_initilization():
2929 GenerativeBenchmarksReport (benchmarks = "invalid_type" ) # type: ignore[arg-type]
3030
3131
32- @pytest .mark .skip (reason = "Computed fields are duplicated." )
3332def test_generative_benchmark_marshalling ():
3433 mock_benchmark = mock_generative_benchmark ()
3534 report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
3635
3736 serialized = report .model_dump ()
37+ print ("Serialized: " , serialized )
3838 deserialized = GenerativeBenchmarksReport .model_validate (serialized )
39+ print ("Deserialized: " , deserialized )
3940 deserialized_benchmark = deserialized .benchmarks [0 ]
41+ serialized = deserialized .model_dump ()
42+ print ("Re-serialized: " , serialized )
4043
41- for field in mock_benchmark .model_fields_set :
42- assert getattr (mock_benchmark , field ) == getattr (deserialized_benchmark , field )
44+ print ("Fields:" , {name : getattr (deserialized , name ) for name in deserialized .model_fields })
45+ print ("Extras:" , deserialized .__pydantic_extra__ )
46+
47+
48+ #for field in mock_benchmark.model_fields_set:
49+ # assert getattr(mock_benchmark, field) == getattr(deserialized_benchmark, field)
50+ # Workaround for duplicate fields for computed fields.
51+ assert mock_benchmark .model_dump () == deserialized_benchmark .model_dump ()
4352
4453
45- @pytest .mark .skip (reason = "Computed fields are duplicated." )
4654def test_file_json ():
4755 mock_benchmark = mock_generative_benchmark ()
4856 report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
@@ -57,13 +65,14 @@ def test_file_json():
5765 loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
5866 loaded_benchmark = loaded_report .benchmarks [0 ]
5967
60- for field in mock_benchmark .model_fields_set :
61- assert getattr (mock_benchmark , field ) == getattr (loaded_benchmark , field )
68+ #for field in mock_benchmark.model_fields_set:
69+ # assert getattr(mock_benchmark, field) == getattr(loaded_benchmark, field)
70+ # Workaround for duplicate fields for computed fields.
71+ assert mock_benchmark .model_dump () == loaded_benchmark .model_dump ()
6272
6373 mock_path .unlink ()
6474
6575
66- @pytest .mark .skip (reason = "Computed fields are duplicated." )
6776def test_file_yaml ():
6877 mock_benchmark = mock_generative_benchmark ()
6978 report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
@@ -78,8 +87,10 @@ def test_file_yaml():
7887 loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
7988 loaded_benchmark = loaded_report .benchmarks [0 ]
8089
81- for field in mock_benchmark .model_fields_set :
82- assert getattr (mock_benchmark , field ) == getattr (loaded_benchmark , field )
90+ #for field in mock_benchmark.model_fields_set:
91+ # assert getattr(mock_benchmark, field) == getattr(loaded_benchmark, field)
92+ # Workaround for duplicate fields for computed fields.
93+ assert mock_benchmark .model_dump () == loaded_benchmark .model_dump ()
8394
8495 mock_path .unlink ()
8596
0 commit comments