Test pattern cascade deletion

This commit is contained in:
WQY\qiong
2023-02-04 16:25:45 +08:00
parent ae793d8ab5
commit 719e63e572

View File

@@ -1958,6 +1958,55 @@ class TestApi:
self.leave(p)
def test_pattern_del(self):
p = 'test_pattern_del'
self.enter(p)
add_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]}))
add_junction(p, ChangeSet({'id': 'j0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0, 'pattern': 'p0'}))
add_reservoir(p, ChangeSet({'id': 'r0', 'x': 0.0, 'y': 10.0, 'head': 20.0, 'pattern': 'p0'}))
add_pump(p, ChangeSet({'id': 'pump0', 'node1': 'j0', 'node2': 'r0', 'power': 0.0, 'pattern': 'p0'}))
set_demand(p, ChangeSet({'junction': 'j0', 'demands': [{'demand': 10.0, 'pattern': 'p0', 'category': 'x'}, {'demand': 20.0, 'pattern': 'p0', 'category': None}]}))
set_pump_energy(p, ChangeSet({'pump' : 'pump0', 'pattern': 'p0'}))
add_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_CONCEN, 'strength': 10.0, 'pattern': 'p0' }))
assert is_pattern(p, 'p0')
assert get_junction(p, 'j0')['pattern'] == 'p0'
assert get_reservoir(p, 'r0')['pattern'] == 'p0'
assert get_pump(p, 'pump0')['pattern'] == 'p0'
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': 'p0', 'category': 'x'}, {'demand': 20.0, 'pattern': 'p0', 'category': None}]
assert get_pump_energy(p, 'pump0')['pattern'] == 'p0'
assert get_source(p, 'j0')['pattern'] == 'p0'
delete_pattern(p, ChangeSet({'id': 'p0'}))
assert is_pattern(p, 'p0') == False
assert get_junction(p, 'j0')['pattern'] == None
assert get_reservoir(p, 'r0')['pattern'] == None
assert get_pump(p, 'pump0')['pattern'] == None
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': None, 'category': 'x'}, {'demand': 20.0, 'pattern': None, 'category': None}]
assert get_pump_energy(p, 'pump0')['pattern'] == None
assert get_source(p, 'j0')['pattern'] == None
execute_undo(p)
assert is_pattern(p, 'p0')
assert get_junction(p, 'j0')['pattern'] == 'p0'
assert get_reservoir(p, 'r0')['pattern'] == 'p0'
assert get_pump(p, 'pump0')['pattern'] == 'p0'
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': 'p0', 'category': 'x'}, {'demand': 20.0, 'pattern': 'p0', 'category': None}]
assert get_pump_energy(p, 'pump0')['pattern'] == 'p0'
assert get_source(p, 'j0')['pattern'] == 'p0'
execute_redo(p)
assert is_pattern(p, 'p0') == False
assert get_junction(p, 'j0')['pattern'] == None
assert get_reservoir(p, 'r0')['pattern'] == None
assert get_pump(p, 'pump0')['pattern'] == None
assert get_demand(p, 'j0')['demands'] == [{'demand': 10.0, 'pattern': None, 'category': 'x'}, {'demand': 20.0, 'pattern': None, 'category': None}]
assert get_pump_energy(p, 'pump0')['pattern'] == None
assert get_source(p, 'j0')['pattern'] == None
self.leave(p)
# 12 curve