Add valve test case

This commit is contained in:
wqy
2022-09-17 23:09:43 +08:00
parent ec3dff12b0
commit 96c01d7fc8
3 changed files with 121 additions and 3 deletions

View File

@@ -19,6 +19,8 @@ def add_valve(name: str, id: str, node1: str, node2: str, diameter: float = 0, t
return ChangeSet()
if node1 == node2:
return ChangeSet()
if type != VALVES_TYPE_PRV and type != VALVES_TYPE_PSV and type != VALVES_TYPE_PBV and type != VALVES_TYPE_FCV and type != VALVES_TYPE_TCV and type != VALVES_TYPE_GPV:
return ChangeSet()
sql = f"insert into valves (id, node1, node2, diameter, type, setting, minor_loss) values ('{id}', '{node1}', '{node2}', {diameter}, '{type}', {setting}, {minor_loss});"
undo_sql = f'delete from valves where id = "{id}";'

View File

@@ -449,10 +449,126 @@ class TestApi:
assert change_set.deleted[0]['id'] == "p2"
self.leave(p)
pass
def test_valve(self):
pass
p = "test_valve"
self.enter(p)
change_set = add_valve(p, 'v1', 'j1', 'j2', 10.0, VALVES_TYPE_FCV, 10.0, 10.0)
assert len(change_set.added) == 0
add_junction(p, 'j1', 0.0, 0.0, 0.0)
add_junction(p, 'j2', 10.0, 10.0, 0.0)
add_junction(p, 'j3', 0.0, 0.0, 0.0)
add_junction(p, 'j4', 10.0, 10.0, 0.0)
assert is_junction(p, 'j1')
assert is_junction(p, 'j2')
assert is_junction(p, 'j3')
assert is_junction(p, 'j4')
assert not is_link(p, 'v1')
change_set = add_valve(p, 'v1', 'j1', 'j2', 10.0, "xxx", 10.0, 10.0)
assert len(change_set.added) == 0
change_set = add_valve(p, 'v1', 'j1', 'j1', 10.0, VALVES_TYPE_FCV, 10.0, 10.0)
assert len(change_set.added) == 0
change_set = add_valve(p, 'v1', 'j1', 'j2', 10.0, VALVES_TYPE_FCV, 10.0, 10.0)
assert len(change_set.added) == 1
assert change_set.added[0]['type'] == VALVE
assert change_set.added[0]['id'] == "v1"
change_set = add_valve(p, 'v1', 'j1', 'j2', 10.0, VALVES_TYPE_FCV, 10.0, 10.0)
assert len(change_set.added) == 0
valves = get_links(p)
assert len(valves) == 1
assert get_valve_node1(p, 'v1') == 'j1'
assert get_valve_node2(p, 'v1') == 'j2'
assert get_valve_diameter(p, 'v1') == 10.0
assert get_valve_type(p, 'v1') == VALVES_TYPE_FCV
assert get_valve_setting(p, 'v1') == 10.0
assert get_valve_minor_loss(p, 'v1') == 10.0
change_set = set_valve_node1(p, 'v1', 'j2')
assert len(change_set.updated) == 0
change_set = set_valve_node2(p, 'v1', 'j1')
assert len(change_set.updated) == 0
change_set = set_valve_type(p, 'v1', "XXX")
assert len(change_set.updated) == 0
change_set = set_valve_node1(p, 'v1', 'j3')
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'node1'
change_set = set_valve_node2(p, 'v1', 'j4')
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'node2'
change_set = set_valve_diameter(p, 'v1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'diameter'
change_set = set_valve_type(p, 'v1', VALVES_TYPE_GPV)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'type'
change_set = set_valve_setting(p, 'v1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'setting'
change_set = set_valve_minor_loss(p, 'v1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == VALVE
assert change_set.updated[0]['id'] == 'v1'
assert change_set.updated[0]['property'] == 'minor_loss'
assert get_valve_node1(p, 'v1') == 'j3'
assert get_valve_node2(p, 'v1') == 'j4'
assert get_valve_diameter(p, 'v1') == 100.0
assert get_valve_type(p, 'v1') == VALVES_TYPE_GPV
assert get_valve_setting(p, 'v1') == 100.0
assert get_valve_minor_loss(p, 'v1') == 100.0
change_set = add_valve(p, 'v2', 'j1', 'j2', 10.0, VALVES_TYPE_FCV, 10.0, 10.0)
assert len(change_set.added) == 1
assert change_set.added[0]['type'] == VALVE
assert change_set.added[0]['id'] == "v2"
valves = get_links(p)
assert len(valves) == 2
change_set = delete_valve(p, 'v')
assert len(change_set.deleted) == 0
assert is_valve(p, 'v1')
change_set = delete_valve(p, 'v1')
assert len(change_set.deleted) == 1
assert change_set.deleted[0]['type'] == VALVE
assert change_set.deleted[0]['id'] == "v1"
valves = get_links(p)
assert len(valves) == 1
change_set = delete_valve(p, 'v2')
assert len(change_set.deleted) == 1
assert change_set.deleted[0]['type'] == VALVE
assert change_set.deleted[0]['id'] == "v2"
self.leave(p)
def test_coordinate(self):
pass

View File

@@ -369,7 +369,7 @@ def get_valve_node1(name: str, valve_id: str) -> str | None:
return api.get_valve_node1(name, valve_id)
def get_valve_node2(name: str, valve_id: str) -> str | None:
return api.get_valve_node1(name, valve_id)
return api.get_valve_node2(name, valve_id)
def get_valve_diameter(name: str, valve_id: str) -> float | None:
return api.get_valve_diameter(name, valve_id)