66class TestArrayCardinalityValidation :
77 def test_sql_generation_default_parameters (self ):
88 rule = ArrayCardinalityValidation (
9- "test_rule" , "test_task" , "grid.egon_etrago_load_timeseries"
9+ rule_id = "test_rule" ,
10+ table = "grid.egon_etrago_load_timeseries"
1011 )
1112 sql = rule .sql (None )
1213
@@ -20,9 +21,8 @@ def test_sql_generation_default_parameters(self):
2021
2122 def test_sql_generation_custom_parameters (self ):
2223 rule = ArrayCardinalityValidation (
23- "test_rule" ,
24- "test_task" ,
25- "demand.egon_heat_timeseries_selected_profiles" ,
24+ rule_id = "test_rule" ,
25+ table = "demand.egon_heat_timeseries_selected_profiles" ,
2626 array_column = "selected_idp_profiles" ,
2727 expected_length = 365
2828 )
@@ -34,10 +34,7 @@ def test_sql_generation_custom_parameters(self):
3434
3535 def test_postprocess_all_arrays_correct_length (self ):
3636 """Test with realistic mock data: all arrays have correct length"""
37- rule = ArrayCardinalityValidation (
38- "load_timeseries_validation" ,
39- "data_quality" ,
40- "grid.egon_etrago_load_timeseries" ,
37+ rule = ArrayCardinalityValidation (rule_id = "load_timeseries_validation" , table = "grid.egon_etrago_load_timeseries" , task = "data_quality" ,
4138 array_column = "p_set" ,
4239 expected_length = 8760
4340 )
@@ -69,10 +66,7 @@ def test_postprocess_all_arrays_correct_length(self):
6966
7067 def test_postprocess_some_arrays_wrong_length (self ):
7168 """Test with realistic mock data: some arrays have wrong length"""
72- rule = ArrayCardinalityValidation (
73- "heat_profiles_validation" ,
74- "data_quality" ,
75- "demand.egon_heat_timeseries_selected_profiles" ,
69+ rule = ArrayCardinalityValidation (rule_id = "heat_profiles_validation" , table = "demand.egon_heat_timeseries_selected_profiles" ,
7670 array_column = "selected_idp_profiles" ,
7771 expected_length = 365
7872 )
@@ -105,8 +99,7 @@ def test_postprocess_some_arrays_wrong_length(self):
10599
106100 def test_postprocess_only_wrong_length_no_nulls (self ):
107101 """Test with only wrong length arrays, no NULL arrays"""
108- rule = ArrayCardinalityValidation (
109- "test_rule" , "test_task" , "test.table" , expected_length = 8760
102+ rule = ArrayCardinalityValidation (rule_id = "test_rule" , table = "test.table" , expected_length = 8760
110103 )
111104
112105 mock_db_row = {
@@ -129,8 +122,7 @@ def test_postprocess_only_wrong_length_no_nulls(self):
129122
130123 def test_postprocess_only_null_arrays_no_wrong_length (self ):
131124 """Test with only NULL arrays, no wrong length arrays"""
132- rule = ArrayCardinalityValidation (
133- "test_rule" , "test_task" , "test.table" , expected_length = 8760
125+ rule = ArrayCardinalityValidation (rule_id = "test_rule" , table = "test.table" , expected_length = 8760
134126 )
135127
136128 mock_db_row = {
@@ -153,8 +145,7 @@ def test_postprocess_only_null_arrays_no_wrong_length(self):
153145
154146 def test_postprocess_none_values_handling (self ):
155147 """Test handling of None values in database result"""
156- rule = ArrayCardinalityValidation (
157- "test_rule" , "test_task" , "test.table" , expected_length = 8760
148+ rule = ArrayCardinalityValidation (rule_id = "test_rule" , table = "test.table" , expected_length = 8760
158149 )
159150
160151 mock_db_row = {
@@ -177,8 +168,7 @@ def test_postprocess_none_values_handling(self):
177168
178169 def test_postprocess_empty_found_lengths (self ):
179170 """Test when found_lengths is empty or None"""
180- rule = ArrayCardinalityValidation (
181- "test_rule" , "test_task" , "test.table" , expected_length = 8760
171+ rule = ArrayCardinalityValidation (rule_id = "test_rule" , table = "test.table" , expected_length = 8760
182172 )
183173
184174 mock_db_row = {
@@ -200,10 +190,7 @@ def test_postprocess_empty_found_lengths(self):
200190
201191 def test_with_mock_data_success_annual_timeseries (self ):
202192 """Test with realistic mock data: annual timeseries with 8760 hours"""
203- rule = ArrayCardinalityValidation (
204- "generator_timeseries_check" ,
205- "timeseries_validation" ,
206- "grid.egon_etrago_generator_timeseries" ,
193+ rule = ArrayCardinalityValidation (rule_id = "generator_timeseries_check" , table = "grid.egon_etrago_generator_timeseries" , task = "timeseries_validation" ,
207194 array_column = "p_max_pu" ,
208195 expected_length = 8760
209196 )
@@ -232,10 +219,7 @@ def test_with_mock_data_success_annual_timeseries(self):
232219
233220 def test_with_mock_data_failure_corrupted_timeseries (self ):
234221 """Test with realistic mock data: corrupted timeseries with inconsistent lengths"""
235- rule = ArrayCardinalityValidation (
236- "bus_timeseries_check" ,
237- "timeseries_validation" ,
238- "grid.egon_etrago_bus_timeseries" ,
222+ rule = ArrayCardinalityValidation (rule_id = "bus_timeseries_check" , table = "grid.egon_etrago_bus_timeseries" ,
239223 array_column = "v_mag_pu_set" ,
240224 expected_length = 8760
241225 )
0 commit comments