4
4
5
5
import numpy as np
6
6
7
- from power_grid_model import initialize_array , power_grid_meta_data
7
+ from power_grid_model import (
8
+ attribute_dtype ,
9
+ attribute_empty_value ,
10
+ initialize_array ,
11
+ power_grid_meta_data ,
12
+ DatasetType ,
13
+ ComponentType ,
14
+ )
8
15
9
16
10
17
def test_nan_scalar ():
11
- assert np .isnan (power_grid_meta_data [" input" ][ " node" ].nan_scalar ["u_rated" ])
18
+ assert np .isnan (power_grid_meta_data [DatasetType . input ][ ComponentType . node ].nan_scalar ["u_rated" ])
12
19
13
20
14
21
def test_initialize_array ():
15
- arr = initialize_array (" input" , " node" , 3 )
22
+ arr = initialize_array (DatasetType . input , ComponentType . node , 3 )
16
23
assert arr .shape == (3 ,)
17
24
assert np .all (np .isnan (arr ["u_rated" ]))
18
- arr_2d = initialize_array (" input" , " node" , (2 , 3 ))
25
+ arr_2d = initialize_array (DatasetType . input , ComponentType . node , (2 , 3 ))
19
26
assert arr_2d .shape == (2 , 3 )
20
27
assert np .all (np .isnan (arr_2d ["u_rated" ]))
21
28
22
29
30
+ def test_attribute_dtype ():
31
+ assert attribute_dtype (DatasetType .input , ComponentType .node , "u_rated" ) == np .float64
32
+ assert attribute_dtype (DatasetType .input , ComponentType .node , "id" ) == np .int32
33
+
34
+
35
+ def test_attribute_empty_value ():
36
+ empty_value = attribute_empty_value (DatasetType .input , ComponentType .node , "u_rated" )
37
+ assert np .isnan (empty_value )
38
+ empty_value = attribute_empty_value (DatasetType .input , ComponentType .node , "id" )
39
+ assert empty_value == np .iinfo (np .int32 ).min
40
+
41
+
23
42
def test_sensor_meta_data ():
24
- sensors = ["sym_voltage_sensor" , "asym_voltage_sensor" , "sym_power_sensor" , "asym_power_sensor" ]
43
+ sensors = [
44
+ ComponentType .sym_voltage_sensor ,
45
+ ComponentType .asym_voltage_sensor ,
46
+ ComponentType .sym_power_sensor ,
47
+ ComponentType .asym_power_sensor ,
48
+ ]
25
49
input_voltage = ["u_measured" , "u_angle_measured" , "u_sigma" ]
26
50
output_voltage = ["u_residual" , "u_angle_residual" ]
27
51
input_power = ["p_measured" , "q_measured" , "power_sigma" ]
28
52
output_power = ["p_residual" , "q_residual" ]
29
53
for sensor in sensors :
30
- for meta_type in [" input" , " update" , " sym_output" , " asym_output" ]:
54
+ for meta_type in [DatasetType . input , DatasetType . update , DatasetType . sym_output , DatasetType . asym_output ]:
31
55
meta_data = power_grid_meta_data [meta_type ]
32
- # comp_names = list(meta_data.keys())
33
- # assert sensor in comp_names
56
+ assert sensor in meta_data
34
57
meta_data_sensor = meta_data [sensor ]
35
58
attr_names = meta_data_sensor .dtype_dict ["names" ]
36
59
assert "id" in attr_names
@@ -51,14 +74,17 @@ def test_sensor_meta_data():
51
74
52
75
53
76
def test_dict_like_access ():
54
- assert power_grid_meta_data ["input" ]["node" ].dtype == power_grid_meta_data ["input" ]["node" ]["dtype" ]
77
+ assert (
78
+ power_grid_meta_data [DatasetType .input ][ComponentType .node ].dtype
79
+ == power_grid_meta_data [DatasetType .input ][ComponentType .node ]["dtype" ]
80
+ )
55
81
56
82
57
83
def test_all_datasets ():
58
84
assert set (power_grid_meta_data .keys ()) == {
59
- " input" ,
60
- " update" ,
61
- " sym_output" ,
62
- " asym_output" ,
63
- " sc_output" ,
85
+ DatasetType . input ,
86
+ DatasetType . update ,
87
+ DatasetType . sym_output ,
88
+ DatasetType . asym_output ,
89
+ DatasetType . sc_output ,
64
90
}
0 commit comments