Add reservoir test case
This commit is contained in:
@@ -23,10 +23,7 @@ def get_node_coord(name: str, id: str) -> dict[str, float] | None:
|
||||
return _to_point(coord)
|
||||
|
||||
|
||||
def set_node_coord(name: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
if not is_junction(name, id):
|
||||
return ChangeSet()
|
||||
|
||||
def set_node_coord(name: str, node_type: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
old = get_node_coord(name, id)
|
||||
if old == None:
|
||||
return ChangeSet()
|
||||
@@ -42,5 +39,5 @@ def set_node_coord(name: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
add_operation(name, redo, undo)
|
||||
|
||||
change = ChangeSet()
|
||||
change.update('junction', id, 'coord', 'point', str({'x': x, 'y': y}))
|
||||
change.update(node_type, id, 'coord', 'point', str({'x': x, 'y': y}))
|
||||
return change
|
||||
|
||||
@@ -85,4 +85,7 @@ def set_junction_pattern(name: str, id: str, pattern: str) -> ChangeSet:
|
||||
|
||||
|
||||
def set_junction_coord(name: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
return set_node_coord(name, id, x, y)
|
||||
if not is_junction(name, id):
|
||||
return ChangeSet()
|
||||
|
||||
return set_node_coord(name, JUNCTION, id, x, y)
|
||||
|
||||
@@ -72,4 +72,7 @@ def set_reservoir_pattern(name: str, id: str, pattern: str) -> ChangeSet:
|
||||
|
||||
|
||||
def set_reservoir_coord(name: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
return set_node_coord(name, id, x, y)
|
||||
if not is_reservoir(name, id):
|
||||
return ChangeSet()
|
||||
|
||||
return set_node_coord(name, RESERVOIR, id, x, y)
|
||||
|
||||
@@ -142,4 +142,7 @@ def set_tank_overflow(name: str, id: str, overflow: str) -> ChangeSet:
|
||||
|
||||
|
||||
def set_tank_coord(name: str, id: str, x: float, y: float) -> ChangeSet:
|
||||
return set_node_coord(name, id, x, y)
|
||||
if not is_tank(name, id):
|
||||
return ChangeSet()
|
||||
|
||||
return set_node_coord(name, TANK, id, x, y)
|
||||
|
||||
@@ -36,7 +36,7 @@ class TestApi:
|
||||
|
||||
change_set = add_junction(p, "j0", 0.0, 10.0, 20.0)
|
||||
assert len(change_set.added) == 1
|
||||
assert change_set.added[0]['type'] == 'junction'
|
||||
assert change_set.added[0]['type'] == JUNCTION
|
||||
assert change_set.added[0]['id'] == "j0"
|
||||
coord = get_junction_coord(p, 'j0')
|
||||
assert coord['x'] == 0.0
|
||||
@@ -48,16 +48,18 @@ class TestApi:
|
||||
assert get_junction_demand(p, 'j0') == "NULL"
|
||||
change_set = set_junction_demand(p, 'j0', 100.0)
|
||||
assert len(change_set.updated) == 1
|
||||
assert change_set.updated[0]['type'] == 'junction'
|
||||
assert change_set.updated[0]['type'] == JUNCTION
|
||||
assert change_set.updated[0]['id'] == 'j0'
|
||||
assert change_set.updated[0]['property'] == 'demand'
|
||||
assert change_set.updated[0]['property_type'] == 'float'
|
||||
assert change_set.updated[0]['property_value'] == str(100.0)
|
||||
assert get_junction_demand(p, 'j0') == 100.0
|
||||
|
||||
# TODO: pattern
|
||||
|
||||
change_set = add_junction(p, "j1", 0.0, 10.0, 20.0)
|
||||
assert len(change_set.added) == 1
|
||||
assert change_set.added[0]['type'] == 'junction'
|
||||
assert change_set.added[0]['type'] == JUNCTION
|
||||
assert change_set.added[0]['id'] == "j1"
|
||||
|
||||
nodes = get_nodes(p)
|
||||
@@ -67,7 +69,7 @@ class TestApi:
|
||||
|
||||
change_set = delete_junction(p, 'j1')
|
||||
assert len(change_set.deleted) == 1
|
||||
assert change_set.deleted[0]['type'] == 'junction'
|
||||
assert change_set.deleted[0]['type'] == JUNCTION
|
||||
assert change_set.deleted[0]['id'] == "j1"
|
||||
|
||||
nodes = get_nodes(p)
|
||||
@@ -76,7 +78,7 @@ class TestApi:
|
||||
|
||||
change_set = delete_junction(p, 'j0')
|
||||
assert len(change_set.deleted) == 1
|
||||
assert change_set.deleted[0]['type'] == 'junction'
|
||||
assert change_set.deleted[0]['type'] == JUNCTION
|
||||
assert change_set.deleted[0]['id'] == "j0"
|
||||
|
||||
nodes = get_nodes(p)
|
||||
@@ -84,10 +86,39 @@ class TestApi:
|
||||
|
||||
self.leave(p)
|
||||
|
||||
pass
|
||||
|
||||
def test_reservoir(self):
|
||||
pass
|
||||
p = "test_reservoir"
|
||||
self.enter(p)
|
||||
|
||||
change_set = add_reservoir(p, "r0", 0.0, 10.0, 20.0)
|
||||
assert len(change_set.added) == 1
|
||||
assert change_set.added[0]['type'] == RESERVOIR
|
||||
assert change_set.added[0]['id'] == "r0"
|
||||
|
||||
assert get_reservoir_head(p, 'r0') == 20.0
|
||||
change_set = set_reservoir_head(p, 'r0', 100.0)
|
||||
assert change_set.updated[0]['type'] == RESERVOIR
|
||||
assert change_set.updated[0]['id'] == 'r0'
|
||||
assert change_set.updated[0]['property'] == 'head'
|
||||
assert change_set.updated[0]['property_type'] == 'float'
|
||||
assert change_set.updated[0]['property_value'] == str(100.0)
|
||||
assert get_reservoir_head(p, 'r0') == 100.0
|
||||
|
||||
assert get_reservoir_coord(p, 'r0') == { 'x': 0.0, 'y': 10.0 }
|
||||
change_set = set_reservoir_coord(p, 'r0', 100.0, 200.0)
|
||||
assert change_set.updated[0]['type'] == RESERVOIR
|
||||
assert change_set.updated[0]['id'] == 'r0'
|
||||
assert change_set.updated[0]['property'] == 'coord'
|
||||
assert change_set.updated[0]['property_type'] == 'point'
|
||||
assert change_set.updated[0]['property_value'] == str({'x': 100.0, 'y': 200.0})
|
||||
assert get_reservoir_coord(p, 'r0') == { 'x': 100.0, 'y': 200.0 }
|
||||
|
||||
change_set = delete_reservoir(p, 'r0')
|
||||
assert len(change_set.deleted) == 1
|
||||
assert change_set.deleted[0]['type'] == RESERVOIR
|
||||
assert change_set.deleted[0]['id'] == "r0"
|
||||
|
||||
self.leave(p)
|
||||
|
||||
def test_tank(self):
|
||||
pass
|
||||
|
||||
@@ -189,8 +189,8 @@ def set_junction_coord(name: str, junction_id: str, x: float, y: float) -> Chang
|
||||
# reservoir 3.[RESERVOIRS]
|
||||
############################################################
|
||||
|
||||
def add_reservoir(name: str, reservoir_id: str, x: float, y: float, elevation: float) -> ChangeSet:
|
||||
return api.add_reservoir(name, reservoir_id, x, y, elevation)
|
||||
def add_reservoir(name: str, reservoir_id: str, x: float, y: float, head: float) -> ChangeSet:
|
||||
return api.add_reservoir(name, reservoir_id, x, y, head)
|
||||
|
||||
def delete_reservoir(name: str, reservoir_id: str) -> ChangeSet:
|
||||
return api.delete_reservoir(name, reservoir_id)
|
||||
@@ -204,8 +204,8 @@ def get_reservoir_pattern(name: str, reservoir_id: str) -> str | None:
|
||||
def get_reservoir_coord(name: str, reservoir_id: str) -> dict[str, float] | None:
|
||||
return api.get_reservoir_coord(name, reservoir_id)
|
||||
|
||||
def set_reservoir_head(name: str, reservoir_id: str, elevation: float) -> ChangeSet:
|
||||
return api.set_reservoir_head(name, reservoir_id, elevation)
|
||||
def set_reservoir_head(name: str, reservoir_id: str, head: float) -> ChangeSet:
|
||||
return api.set_reservoir_head(name, reservoir_id, head)
|
||||
|
||||
def set_reservoir_pattern(name: str, reservoir_id: str, pattern: str) -> ChangeSet:
|
||||
return api.set_reservoir_pattern(name, reservoir_id, pattern)
|
||||
|
||||
Reference in New Issue
Block a user