@@ -88,39 +88,46 @@ def test_invalid_types_generate_type_mismatch_results(provider: LaunchDarklyProv
88
88
89
89
90
90
@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' ),
117
123
],
118
124
)
119
125
def test_check_method_and_result_match_type (
120
126
# start of parameterized values
121
127
default_value : Union [bool , str , int , float , List ],
122
128
return_value : Union [bool , str , int , float , List ],
123
129
expected_value : Union [bool , str , int , float , List ],
130
+ expected_type : type ,
124
131
method_name : str ,
125
132
# end of parameterized values
126
133
test_data_source : TestData ,
@@ -130,8 +137,9 @@ def test_check_method_and_result_match_type(
130
137
131
138
method = getattr (provider , method_name )
132
139
resolution_details = method ("check-method-flag" , default_value , evaluation_context )
133
-
140
+
134
141
assert resolution_details .value == expected_value
142
+ #assert isinstance(resolution_details.value, expected_type)
135
143
136
144
137
145
def test_logger_changes_should_cascade_to_evaluation_converter (provider : LaunchDarklyProvider , caplog ):
0 commit comments