@@ -29,20 +29,28 @@ def test_generative_benchmark_invalid_initilization():
29
29
GenerativeBenchmarksReport (benchmarks = "invalid_type" ) # type: ignore[arg-type]
30
30
31
31
32
- @pytest .mark .skip (reason = "Computed fields are duplicated." )
33
32
def test_generative_benchmark_marshalling ():
34
33
mock_benchmark = mock_generative_benchmark ()
35
34
report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
36
35
37
36
serialized = report .model_dump ()
37
+ print ("Serialized: " , serialized )
38
38
deserialized = GenerativeBenchmarksReport .model_validate (serialized )
39
+ print ("Deserialized: " , deserialized )
39
40
deserialized_benchmark = deserialized .benchmarks [0 ]
41
+ serialized = deserialized .model_dump ()
42
+ print ("Re-serialized: " , serialized )
40
43
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 ()
43
52
44
53
45
- @pytest .mark .skip (reason = "Computed fields are duplicated." )
46
54
def test_file_json ():
47
55
mock_benchmark = mock_generative_benchmark ()
48
56
report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
@@ -57,13 +65,14 @@ def test_file_json():
57
65
loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
58
66
loaded_benchmark = loaded_report .benchmarks [0 ]
59
67
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 ()
62
72
63
73
mock_path .unlink ()
64
74
65
75
66
- @pytest .mark .skip (reason = "Computed fields are duplicated." )
67
76
def test_file_yaml ():
68
77
mock_benchmark = mock_generative_benchmark ()
69
78
report = GenerativeBenchmarksReport (benchmarks = [mock_benchmark ])
@@ -78,8 +87,10 @@ def test_file_yaml():
78
87
loaded_report = GenerativeBenchmarksReport .load_file (mock_path )
79
88
loaded_benchmark = loaded_report .benchmarks [0 ]
80
89
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 ()
83
94
84
95
mock_path .unlink ()
85
96
0 commit comments