diff --git a/powersimdata/input/change_table.py b/powersimdata/input/change_table.py index 0def6baf7..303e3d051 100644 --- a/powersimdata/input/change_table.py +++ b/powersimdata/input/change_table.py @@ -643,6 +643,9 @@ def add_bus(self, info): the information needed to create a new bus. Required keys: "lat", "lon", ["zone_id" XOR "zone_name"]. Optional key: "Pd". + :raises TypeError: if info is not a list. + :raises ValueError: if each element of info is not a dict with appropriate keys + and values. """ allowable_keys = {"lat", "lon", "zone_id", "zone_name", "Pd", "baseKV"} defaults = {"Pd": 0, "baseKV": 230} @@ -654,6 +657,8 @@ def add_bus(self, info): try: for i, new_bus in enumerate(info): + if not isinstance(new_bus, dict): + raise ValueError("Each entry in the list must be a dict") new_bus = new_bus.copy() if not set(new_bus.keys()) <= allowable_keys: unknown_keys = set(new_bus.keys()) - allowable_keys