@@ -77,35 +77,38 @@ def test_timestamp(input_dict, field_name, expected_result, expected_json, descr
7777 assert result is None
7878 else :
7979 assert isinstance (result , Timestamp )
80- assert result .ToJsonString () == expected_json
80+ ts = Timestamp ()
81+ ts .FromJsonString (expected_json )
82+ assert result == ts
8183
8284
8385@pytest .mark .parametrize (
84- "input_dict,field_name,expected_length, expected_json_list,description" ,
86+ "input_dict,field_name,expected_json_list,description" ,
8587 [
8688 (
8789 {"field" : ["2023-01-01T12:00:00Z" , "2023-01-02T12:00:00Z" ]},
8890 "field" ,
89- 2 ,
9091 ["2023-01-01T12:00:00Z" , "2023-01-02T12:00:00Z" ],
9192 "valid repeated timestamps" ,
9293 ),
93- ({}, "field" , None , None , "missing field" ),
94- ({"field" : None }, "field" , None , None , "None value" ),
95- ({"field" : []}, "field" , None , None , "empty list" ),
94+ ({}, "field" , [] , "missing field" ),
95+ ({"field" : None }, "field" , None , "None value" ),
96+ ({"field" : []}, "field" , [] , "empty list" ),
9697 ],
9798)
98- def test_repeated_timestamp (input_dict , field_name , expected_length , expected_json_list , description ):
99+ def test_repeated_timestamp (input_dict , field_name , expected_json_list , description ):
99100 """Test _repeated_timestamp function with various input scenarios."""
100101 result = _repeated_timestamp (input_dict , field_name )
101102
102- if expected_length is None :
103+ if expected_json_list is None or len ( expected_json_list ) == 0 :
103104 assert result is None
104105 else :
105- assert len (result ) == expected_length
106+ assert len (result ) == len ( expected_json_list )
106107 assert all (isinstance (ts , Timestamp ) for ts in result )
107108 for i , expected_json in enumerate (expected_json_list ):
108- assert result [i ].ToJsonString () == expected_json
109+ ts = Timestamp ()
110+ ts .FromJsonString (expected_json )
111+ assert result [i ] == ts
109112
110113
111114@pytest .mark .parametrize (
@@ -125,29 +128,33 @@ def test_duration(input_dict, field_name, expected_result, expected_json, descri
125128 assert result is None
126129 else :
127130 assert isinstance (result , Duration )
128- assert result .ToJsonString () == expected_json
131+ dur = Duration ()
132+ dur .FromJsonString (expected_json )
133+ assert result == dur
129134
130135
131136@pytest .mark .parametrize (
132- "input_dict,field_name,expected_length, expected_json_list,description" ,
137+ "input_dict,field_name,expected_json_list,description" ,
133138 [
134- ({"field" : ["3600s" , "7200s" ]}, "field" , 2 , ["3600s" , "7200s" ], "valid repeated durations" ),
135- ({}, "field" , None , None , "missing field" ),
136- ({"field" : None }, "field" , None , None , "None value" ),
137- ({"field" : []}, "field" , None , None , "empty list" ),
139+ ({"field" : ["3600s" , "7200s" ]}, "field" , ["3600s" , "7200s" ], "valid repeated durations" ),
140+ ({}, "field" , [] , "missing field" ),
141+ ({"field" : None }, "field" , None , "None value" ),
142+ ({"field" : []}, "field" , [] , "empty list" ),
138143 ],
139144)
140- def test_repeated_duration (input_dict , field_name , expected_length , expected_json_list , description ):
145+ def test_repeated_duration (input_dict , field_name , expected_json_list , description ):
141146 """Test _repeated_duration function with various input scenarios."""
142147 result = _repeated_duration (input_dict , field_name )
143148
144- if expected_length is None :
149+ if expected_json_list is None or len ( expected_json_list ) == 0 :
145150 assert result is None
146151 else :
147- assert len (result ) == expected_length
152+ assert len (result ) == len ( expected_json_list )
148153 assert all (isinstance (dur , Duration ) for dur in result )
149154 for i , expected_json in enumerate (expected_json_list ):
150- assert result [i ].ToJsonString () == expected_json
155+ dur = Duration ()
156+ dur .FromJsonString (expected_json )
157+ assert result [i ] == dur
151158
152159
153160@pytest .mark .parametrize (
@@ -167,32 +174,35 @@ def test_fieldmask(input_dict, field_name, expected_result, expected_json, descr
167174 assert result is None
168175 else :
169176 assert isinstance (result , FieldMask )
170- assert result .ToJsonString () == expected_json
177+ fm = FieldMask ()
178+ fm .FromJsonString (expected_json )
179+ assert result == fm
171180
172181
173182@pytest .mark .parametrize (
174- "input_dict,field_name,expected_length, expected_json_list,description" ,
183+ "input_dict,field_name,expected_json_list,description" ,
175184 [
176185 (
177186 {"field" : ["path1,path2" , "path3,path4" ]},
178187 "field" ,
179- 2 ,
180188 ["path1,path2" , "path3,path4" ],
181189 "valid repeated fieldmasks" ,
182190 ),
183- ({}, "field" , None , None , "missing field" ),
184- ({"field" : None }, "field" , None , None , "None value" ),
185- ({"field" : []}, "field" , None , None , "empty list" ),
191+ ({}, "field" , [] , "missing field" ),
192+ ({"field" : None }, "field" , None , "None value" ),
193+ ({"field" : []}, "field" , [] , "empty list" ),
186194 ],
187195)
188- def test_repeated_fieldmask (input_dict , field_name , expected_length , expected_json_list , description ):
196+ def test_repeated_fieldmask (input_dict , field_name , expected_json_list , description ):
189197 """Test _repeated_fieldmask function with various input scenarios."""
190198 result = _repeated_fieldmask (input_dict , field_name )
191199
192- if expected_length is None :
200+ if expected_json_list is None or len ( expected_json_list ) == 0 :
193201 assert result is None
194202 else :
195- assert len (result ) == expected_length
203+ assert len (result ) == len ( expected_json_list )
196204 assert all (isinstance (fm , FieldMask ) for fm in result )
197205 for i , expected_json in enumerate (expected_json_list ):
198- assert result [i ].ToJsonString () == expected_json
206+ fm = FieldMask ()
207+ fm .FromJsonString (expected_json )
208+ assert result [i ] == fm
0 commit comments