From 4f83e59f0d9f055f229b7d69f1e3f8ae39de053e Mon Sep 17 00:00:00 2001 From: "WQY\\qiong" Date: Sat, 4 Feb 2023 14:45:41 +0800 Subject: [PATCH] Test junction cascade deletion --- test_tjnetwork.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/test_tjnetwork.py b/test_tjnetwork.py index e8d5183..a71d220 100644 --- a/test_tjnetwork.py +++ b/test_tjnetwork.py @@ -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