@@ -88,39 +88,45 @@ 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
+
108
+ pytest .param (1.0 , 2.0 , 2.0 , float , 'resolve_float_details' ),
109
+ pytest .param (1.0 , 2 , 2.0 , float , 'resolve_float_details' ),
110
+ pytest .param (1.0 , True , 1.0 , float , 'resolve_float_details' ),
111
+ pytest .param (1.0 , 'return-string' , 1.0 , float , 'resolve_float_details' ),
112
+
113
+ pytest .param (['default-value' ], ['return-string' ], ['return-string' ], list , 'resolve_object_details' ),
114
+ pytest .param (['default-value' ], True , ['default-value' ], list , 'resolve_object_details' ),
115
+ pytest .param (['default-value' ], 1 , ['default-value' ], list , 'resolve_object_details' ),
116
+ pytest .param (['default-value' ], 'return-string' , ['default-value' ], list , 'resolve_object_details' ),
117
+
118
+ pytest .param ({'key' : 'default' }, {'key' : 'return' }, {'key' : 'return' }, dict , 'resolve_object_details' ),
119
+ pytest .param ({'key' : 'default' }, True , {'key' : 'default' }, dict , 'resolve_object_details' ),
120
+ pytest .param ({'key' : 'default' }, 1 , {'key' : 'default' }, dict , 'resolve_object_details' ),
121
+ pytest .param ({'key' : 'default' }, 'return-string' , {'key' : 'default' }, dict , 'resolve_object_details' ),
117
122
],
118
123
)
119
124
def test_check_method_and_result_match_type (
120
125
# start of parameterized values
121
126
default_value : Union [bool , str , int , float , List ],
122
127
return_value : Union [bool , str , int , float , List ],
123
128
expected_value : Union [bool , str , int , float , List ],
129
+ expected_type : type ,
124
130
method_name : str ,
125
131
# end of parameterized values
126
132
test_data_source : TestData ,
@@ -130,7 +136,8 @@ def test_check_method_and_result_match_type(
130
136
131
137
method = getattr (provider , method_name )
132
138
resolution_details = method ("check-method-flag" , default_value , evaluation_context )
133
-
139
+
140
+ assert isinstance (resolution_details .value , expected_type )
134
141
assert resolution_details .value == expected_value
135
142
136
143
0 commit comments