Skip to content

Commit f1844f3

Browse files
committed
add tests
Signed-off-by: Nitish Bharambe <nitish.bharambe@alliander.com>
1 parent 66ab1f9 commit f1844f3

File tree

2 files changed

+46
-15
lines changed

2 files changed

+46
-15
lines changed

src/power_grid_model/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
"""Power Grid Model"""
66

77
from power_grid_model._core.dataset_definitions import ComponentType, DatasetType
8-
from power_grid_model._core.power_grid_meta import initialize_array, power_grid_meta_data
8+
from power_grid_model._core.power_grid_meta import (
9+
attribute_dtype,
10+
attribute_empty_value,
11+
initialize_array,
12+
power_grid_meta_data,
13+
)
914
from power_grid_model._core.power_grid_model import PowerGridModel
1015
from power_grid_model.enum import (
1116
Branch3Side,

tests/unit/test_meta_data.py

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,56 @@
44

55
import numpy as np
66

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+
)
815

916

1017
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"])
1219

1320

1421
def test_initialize_array():
15-
arr = initialize_array("input", "node", 3)
22+
arr = initialize_array(DatasetType.input, ComponentType.node, 3)
1623
assert arr.shape == (3,)
1724
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))
1926
assert arr_2d.shape == (2, 3)
2027
assert np.all(np.isnan(arr_2d["u_rated"]))
2128

2229

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+
2342
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+
]
2549
input_voltage = ["u_measured", "u_angle_measured", "u_sigma"]
2650
output_voltage = ["u_residual", "u_angle_residual"]
2751
input_power = ["p_measured", "q_measured", "power_sigma"]
2852
output_power = ["p_residual", "q_residual"]
2953
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]:
3155
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
3457
meta_data_sensor = meta_data[sensor]
3558
attr_names = meta_data_sensor.dtype_dict["names"]
3659
assert "id" in attr_names
@@ -51,14 +74,17 @@ def test_sensor_meta_data():
5174

5275

5376
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+
)
5581

5682

5783
def test_all_datasets():
5884
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,
6490
}

0 commit comments

Comments
 (0)