Add pipe test case

This commit is contained in:
wqy
2022-09-17 22:48:20 +08:00
parent a645195eb5
commit 22e815cc6f
2 changed files with 145 additions and 2 deletions

View File

@@ -163,7 +163,7 @@ def add_link(name: str, link_type: str, id: str, table_sql: str, table_undo_sql:
def delete_link(name: str, link_type: str, id: str, table_sql: str, table_undo_sql: str) -> ChangeSet:
if not is_node(name, id):
if not is_link(name, id):
return ChangeSet()
with conn[name].cursor(row_factory=dict_row) as cur:

View File

@@ -62,6 +62,9 @@ class TestApi:
assert change_set.added[0]['type'] == JUNCTION
assert change_set.added[0]['id'] == "j1"
change_set = add_junction(p, "j1", 0.0, 10.0, 20.0)
assert len(change_set.added) == 0
nodes = get_nodes(p)
assert len(nodes) == 2
assert nodes[0] == "j0"
@@ -72,6 +75,9 @@ class TestApi:
assert change_set.deleted[0]['type'] == JUNCTION
assert change_set.deleted[0]['id'] == "j1"
change_set = delete_junction(p, 'j1')
assert len(change_set.deleted) == 0
nodes = get_nodes(p)
assert len(nodes) == 1
assert nodes[0] == "j0"
@@ -95,6 +101,9 @@ class TestApi:
assert change_set.added[0]['type'] == RESERVOIR
assert change_set.added[0]['id'] == "r0"
change_set = add_reservoir(p, "r0", 0.0, 10.0, 20.0)
assert len(change_set.added) == 0
assert get_reservoir_head(p, 'r0') == 20.0
change_set = set_reservoir_head(p, 'r0', 100.0)
assert change_set.updated[0]['type'] == RESERVOIR
@@ -120,6 +129,9 @@ class TestApi:
assert change_set.deleted[0]['type'] == RESERVOIR
assert change_set.deleted[0]['id'] == "r0"
change_set = delete_reservoir(p, 'r0')
assert len(change_set.deleted) == 0
self.leave(p)
def test_tank(self):
@@ -137,6 +149,9 @@ class TestApi:
assert change_set.added[0]['type'] == TANK
assert change_set.added[0]['id'] == "t1"
change_set = add_tank(p, "t1", 0.0, 10.0, 20.0)
assert len(change_set.added) == 0
tanks = get_nodes(p)
assert len(tanks) == 2
assert tanks[0] == 't0'
@@ -216,13 +231,141 @@ class TestApi:
assert change_set.deleted[0]['type'] == TANK
assert change_set.deleted[0]['id'] == "t1"
change_set = delete_tank(p, "t1")
assert len(change_set.deleted) == 0
tanks = get_nodes(p)
assert len(tanks) == 0
self.leave(p)
def test_pipe(self):
pass
p = "test_pipe"
self.enter(p)
change_set = add_pipe(p, 'p1', 'j1', 'j2', 10.0, 10.0, 10.0, 10.0, PIPE_STATUS_CLOSED)
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, 'p1')
change_set = add_pipe(p, 'p1', 'j1', 'j2', 10.0, 10.0, 10.0, 10.0, "XXX")
assert len(change_set.added) == 0
change_set = add_pipe(p, 'p1', 'j1', 'j1', 10.0, 10.0, 10.0, 10.0, PIPE_STATUS_CLOSED)
assert len(change_set.added) == 0
change_set = add_pipe(p, 'p1', 'j1', 'j2', 10.0, 10.0, 10.0, 10.0, PIPE_STATUS_CLOSED)
assert len(change_set.added) == 1
assert change_set.added[0]['type'] == PIPE
assert change_set.added[0]['id'] == "p1"
change_set = add_pipe(p, 'p1', 'j1', 'j2', 10.0, 10.0, 10.0, 10.0, PIPE_STATUS_CLOSED)
assert len(change_set.added) == 0
pipes = get_links(p)
assert len(pipes) == 1
assert get_pipe_node1(p, 'p1') == 'j1'
assert get_pipe_node2(p, 'p1') == 'j2'
assert get_pipe_length(p, 'p1') == 10.0
assert get_pipe_diameter(p, 'p1') == 10.0
assert get_pipe_roughness(p, 'p1') == 10.0
assert get_pipe_minor_loss(p, 'p1') == 10.0
assert get_pipe_status(p, 'p1') == PIPE_STATUS_CLOSED
change_set = set_pipe_node1(p, 'p1', 'j2')
assert len(change_set.updated) == 0
change_set = set_pipe_node2(p, 'p1', 'j1')
assert len(change_set.updated) == 0
change_set = set_pipe_status(p, 'p1', "XXX")
assert len(change_set.updated) == 0
change_set = set_pipe_node1(p, 'p1', 'j3')
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'node1'
change_set = set_pipe_node2(p, 'p1', 'j4')
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'node2'
change_set = set_pipe_length(p, 'p1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'length'
change_set = set_pipe_diameter(p, 'p1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'diameter'
change_set = set_pipe_roughness(p, 'p1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'roughness'
change_set = set_pipe_minor_loss(p, 'p1', 100.0)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'minor_loss'
change_set = set_pipe_status(p, 'p1', PIPE_STATUS_OPEN)
assert len(change_set.updated) == 1
assert change_set.updated[0]['type'] == PIPE
assert change_set.updated[0]['id'] == 'p1'
assert change_set.updated[0]['property'] == 'status'
assert get_pipe_node1(p, 'p1') == 'j3'
assert get_pipe_node2(p, 'p1') == 'j4'
assert get_pipe_length(p, 'p1') == 100.0
assert get_pipe_diameter(p, 'p1') == 100.0
assert get_pipe_roughness(p, 'p1') == 100.0
assert get_pipe_minor_loss(p, 'p1') == 100.0
assert get_pipe_status(p, 'p1') == PIPE_STATUS_OPEN
change_set = add_pipe(p, 'p2', 'j1', 'j2', 10.0, 10.0, 10.0, 10.0, PIPE_STATUS_CLOSED)
assert len(change_set.added) == 1
assert change_set.added[0]['type'] == PIPE
assert change_set.added[0]['id'] == "p2"
pipes = get_links(p)
assert len(pipes) == 2
change_set = delete_pipe(p, 'p')
assert len(change_set.deleted) == 0
assert is_pipe(p, 'p1')
change_set = delete_pipe(p, 'p1')
assert len(change_set.deleted) == 1
assert change_set.deleted[0]['type'] == PIPE
assert change_set.deleted[0]['id'] == "p1"
pipes = get_links(p)
assert len(pipes) == 1
change_set = delete_pipe(p, 'p2')
assert len(change_set.deleted) == 1
assert change_set.deleted[0]['type'] == PIPE
assert change_set.deleted[0]['id'] == "p2"
self.leave(p)
def test_pump(self):
pass