Test junction cascade deletion

This commit is contained in:
WQY\qiong
2023-02-04 14:45:41 +08:00
parent edc6d423ec
commit 4f83e59f0d

View File

@@ -399,6 +399,65 @@ class TestApi:
self.leave(p)
def test_junction_del(self):
p = 'test_junction_del'
self.enter(p)
add_junction(p, ChangeSet({'id': 'j0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
add_junction(p, ChangeSet({'id': 'j1', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
add_pipe(p, ChangeSet({'id': 'p0', 'node1': 'j0', 'node2': 'j1', 'length': 100.0, 'diameter': 10.0, 'roughness': 0.1, 'minor_loss': 0.5, 'status': PIPE_STATUS_OPEN }))
set_tag(p, ChangeSet({'t_type': TAG_TYPE_NODE, 'id': 'j0', 'tag': 'j0t' }))
set_demand(p, ChangeSet({'junction': 'j0', 'demands': [{'demand': 10.0, 'pattern': None, 'category': 'x'}, {'demand': 20.0, 'pattern': None, 'category': None}]}))
set_emitter(p, ChangeSet({'junction': 'j0', 'coefficient': 10.0}))
set_quality(p, ChangeSet({'node': 'j0', 'quality': 10.0}))
add_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_CONCEN, 'strength': 10.0, 'pattern': None }))
add_label(p, ChangeSet({'x': 0.0, 'y': 0.0, 'label': 'x', 'node': 'j0'}))
assert is_junction(p, 'j0')
assert is_junction(p, 'j1')
assert is_pipe(p, 'p0')
assert get_tag(p, TAG_TYPE_NODE, 'j0')['tag'] == 'j0t'
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': None, 'category': 'x'}, {'demand': 20.0, 'pattern': None, 'category': None}]
assert get_emitter(p, 'j0')['coefficient'] == 10.0
assert get_quality(p, 'j0')['quality'] == 10.0
assert get_source(p, 'j0')['s_type'] == SOURCE_TYPE_CONCEN
assert get_label(p, 0.0, 0.0)['node'] == 'j0'
print(delete_junction(p, ChangeSet({'id': 'j0'})).operations)
assert is_junction(p, 'j0') == False
assert is_junction(p, 'j1')
assert is_pipe(p, 'p0') == False
assert get_tag(p, TAG_TYPE_NODE, 'j0')['tag'] == None
assert get_demand(p, 'j1')['demands'] == []
assert get_emitter(p, 'j0')['coefficient'] == None
assert get_quality(p, 'j0')['quality'] == None
assert get_source(p, 'j0') == {}
assert get_label(p, 0.0, 0.0)['node'] == None
execute_undo(p)
assert is_junction(p, 'j0')
assert is_junction(p, 'j1')
assert is_pipe(p, 'p0')
assert get_tag(p, TAG_TYPE_NODE, 'j0')['tag'] == 'j0t'
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': None, 'category': 'x'}, {'demand': 20.0, 'pattern': None, 'category': None}]
assert get_emitter(p, 'j0')['coefficient'] == 10.0
assert get_quality(p, 'j0')['quality'] == 10.0
assert get_source(p, 'j0')['s_type'] == SOURCE_TYPE_CONCEN
assert get_label(p, 0.0, 0.0)['node'] == 'j0'
execute_redo(p)
assert is_junction(p, 'j0') == False
assert is_junction(p, 'j1')
assert is_pipe(p, 'p0') == False
assert get_tag(p, TAG_TYPE_NODE, 'j0')['tag'] == None
assert get_demand(p, 'j1')['demands'] == []
assert get_emitter(p, 'j0')['coefficient'] == None
assert get_quality(p, 'j0')['quality'] == None
assert get_source(p, 'j0') == {}
assert get_label(p, 0.0, 0.0)['node'] == None
self.leave(p)
# 3 reservoir