@@ -88,39 +88,46 @@ def test_invalid_types_generate_type_mismatch_results(provider: LaunchDarklyProv
8888
8989
9090@pytest .mark .parametrize (
91- "default_value,return_value,expected_value,method_name" ,
92- [
93- pytest .param (True , False , False , 'resolve_boolean_details' ),
94- pytest .param (False , True , True , 'resolve_boolean_details' ),
95- pytest .param (False , 1 , False , 'resolve_boolean_details' ),
96- pytest .param (False , "True" , False , 'resolve_boolean_details' ),
97- pytest .param (True , [], True , 'resolve_boolean_details' ),
98-
99- pytest .param ('default-string' , 'return-string' , 'return-string' , 'resolve_string_details' ),
100- pytest .param ('default-string' , 1 , 'default-string' , 'resolve_string_details' ),
101- pytest .param ('default-string' , True , 'default-string' , 'resolve_string_details' ),
102-
103- pytest .param (1 , 2 , 2 , 'resolve_integer_details' ),
104- pytest .param (1 , True , 1 , 'resolve_integer_details' ),
105- pytest .param (1 , False , 1 , 'resolve_integer_details' ),
106- pytest .param (1 , "" , 1 , 'resolve_integer_details' ),
107-
108- pytest .param (1.0 , 2.0 , 2.0 , 'resolve_float_details' ),
109- pytest .param (1.0 , 2 , 2.0 , 'resolve_float_details' ),
110- pytest .param (1.0 , True , 1.0 , 'resolve_float_details' ),
111- pytest .param (1.0 , 'return-string' , 1.0 , 'resolve_float_details' ),
112-
113- pytest .param (['default-value' ], ['return-string' ], ['return-string' ], 'resolve_object_details' ),
114- pytest .param (['default-value' ], True , ['default-value' ], 'resolve_object_details' ),
115- pytest .param (['default-value' ], 1 , ['default-value' ], 'resolve_object_details' ),
116- pytest .param (['default-value' ], 'return-string' , ['default-value' ], 'resolve_object_details' ),
91+ "default_value,return_value,expected_value,expected_type,method_name" ,
92+ [
93+ pytest .param (True , False , False , bool , 'resolve_boolean_details' ),
94+ pytest .param (False , True , True , bool , 'resolve_boolean_details' ),
95+ pytest .param (False , 1 , False , bool , 'resolve_boolean_details' ),
96+ pytest .param (False , "True" , False , bool , 'resolve_boolean_details' ),
97+ pytest .param (True , [], True , bool , 'resolve_boolean_details' ),
98+
99+ pytest .param ('default-string' , 'return-string' , 'return-string' , str , 'resolve_string_details' ),
100+ pytest .param ('default-string' , 1 , 'default-string' , str , 'resolve_string_details' ),
101+ pytest .param ('default-string' , True , 'default-string' , str , 'resolve_string_details' ),
102+
103+ pytest .param (1 , 2 , 2 , int , 'resolve_integer_details' ),
104+ pytest .param (1 , True , 1 , int , 'resolve_integer_details' ),
105+ pytest .param (1 , False , 1 , int , 'resolve_integer_details' ),
106+ pytest .param (1 , "" , 1 , int , 'resolve_integer_details' ),
107+ pytest .param (1 , 2.9 , 2 , int , 'resolve_integer_details' ),
108+
109+ pytest .param (1.0 , 2.0 , 2.0 , float , 'resolve_float_details' ),
110+ pytest .param (1.0 , 2 , 2.0 , float , 'resolve_float_details' ),
111+ pytest .param (1.0 , True , 1.0 , float , 'resolve_float_details' ),
112+ pytest .param (1.0 , 'return-string' , 1.0 , float , 'resolve_float_details' ),
113+
114+ pytest .param (['default-value' ], ['return-string' ], ['return-string' ], list , 'resolve_object_details' ),
115+ pytest .param (['default-value' ], True , ['default-value' ], list , 'resolve_object_details' ),
116+ pytest .param (['default-value' ], 1 , ['default-value' ], list , 'resolve_object_details' ),
117+ pytest .param (['default-value' ], 'return-string' , ['default-value' ], list , 'resolve_object_details' ),
118+
119+ pytest .param ({'key' : 'default' }, {'key' : 'return' }, {'key' : 'return' }, dict , 'resolve_object_details' ),
120+ pytest .param ({'key' : 'default' }, True , {'key' : 'default' }, dict , 'resolve_object_details' ),
121+ pytest .param ({'key' : 'default' }, 1 , {'key' : 'default' }, dict , 'resolve_object_details' ),
122+ pytest .param ({'key' : 'default' }, 'return-string' , {'key' : 'default' }, dict , 'resolve_object_details' ),
117123 ],
118124)
119125def test_check_method_and_result_match_type (
120126 # start of parameterized values
121127 default_value : Union [bool , str , int , float , List ],
122128 return_value : Union [bool , str , int , float , List ],
123129 expected_value : Union [bool , str , int , float , List ],
130+ expected_type : type ,
124131 method_name : str ,
125132 # end of parameterized values
126133 test_data_source : TestData ,
@@ -130,8 +137,9 @@ def test_check_method_and_result_match_type(
130137
131138 method = getattr (provider , method_name )
132139 resolution_details = method ("check-method-flag" , default_value , evaluation_context )
133-
140+
134141 assert resolution_details .value == expected_value
142+ #assert isinstance(resolution_details.value, expected_type)
135143
136144
137145def test_logger_changes_should_cascade_to_evaluation_converter (provider : LaunchDarklyProvider , caplog ):
0 commit comments