Add reaction api and test
This commit is contained in:
@@ -2576,6 +2576,195 @@ class TestApi:
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# 19 reaction
|
||||
|
||||
|
||||
def test_global_reaction(self):
|
||||
p = 'test_global_reaction'
|
||||
self.enter(p)
|
||||
|
||||
gr = get_global_reaction(p)
|
||||
assert gr['order_bulk'] == None
|
||||
assert gr['order_wall'] == None
|
||||
assert gr['order_tank'] == None
|
||||
assert gr['global_bulk'] == None
|
||||
assert gr['global_wall'] == None
|
||||
assert gr['limiting_potential'] == None
|
||||
assert gr['roughness_correlation'] == None
|
||||
|
||||
set_global_reaction(p, ChangeSet({ 'order_bulk' : 10.0 }))
|
||||
gr = get_global_reaction(p)
|
||||
assert gr['order_bulk'] == 10.0
|
||||
assert gr['order_wall'] == None
|
||||
assert gr['order_tank'] == None
|
||||
assert gr['global_bulk'] == None
|
||||
assert gr['global_wall'] == None
|
||||
assert gr['limiting_potential'] == None
|
||||
assert gr['roughness_correlation'] == None
|
||||
|
||||
set_global_reaction(p, ChangeSet({ 'order_bulk' : None }))
|
||||
gr = get_global_reaction(p)
|
||||
assert gr['order_bulk'] == None
|
||||
assert gr['order_wall'] == None
|
||||
assert gr['order_tank'] == None
|
||||
assert gr['global_bulk'] == None
|
||||
assert gr['global_wall'] == None
|
||||
assert gr['limiting_potential'] == None
|
||||
assert gr['roughness_correlation'] == None
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_global_reaction_op(self):
|
||||
p = 'test_global_reaction_op'
|
||||
self.enter(p)
|
||||
|
||||
cs = set_global_reaction(p, ChangeSet({ 'order_bulk' : 10.0 })).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'global_reaction'
|
||||
assert cs['order_bulk'] == 10.0
|
||||
assert cs['order_wall'] == None
|
||||
assert cs['order_tank'] == None
|
||||
assert cs['global_bulk'] == None
|
||||
assert cs['global_wall'] == None
|
||||
assert cs['limiting_potential'] == None
|
||||
assert cs['roughness_correlation'] == None
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'global_reaction'
|
||||
assert cs['order_bulk'] == None
|
||||
assert cs['order_wall'] == None
|
||||
assert cs['order_tank'] == None
|
||||
assert cs['global_bulk'] == None
|
||||
assert cs['global_wall'] == None
|
||||
assert cs['limiting_potential'] == None
|
||||
assert cs['roughness_correlation'] == None
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'global_reaction'
|
||||
assert cs['order_bulk'] == 10.0
|
||||
assert cs['order_wall'] == None
|
||||
assert cs['order_tank'] == None
|
||||
assert cs['global_bulk'] == None
|
||||
assert cs['global_wall'] == None
|
||||
assert cs['limiting_potential'] == None
|
||||
assert cs['roughness_correlation'] == None
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_pipe_reaction(self):
|
||||
p = 'test_pipe_reaction'
|
||||
self.enter(p)
|
||||
|
||||
add_junction(p, ChangeSet({'id': 'j1', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_junction(p, ChangeSet({'id': 'j2', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_pipe(p, ChangeSet({'id': 'p0', 'node1': 'j1', 'node2': 'j2', 'length': 100.0, 'diameter': 10.0, 'roughness': 0.1, 'minor_loss': 0.5, 'status': PIPE_STATUS_OPEN }))
|
||||
|
||||
pp = get_pipe_reaction(p, 'p0')
|
||||
assert pp['pipe'] == 'p0'
|
||||
assert pp['bulk'] == None
|
||||
assert pp['wall'] == None
|
||||
|
||||
set_pipe_reaction(p, ChangeSet({'pipe': 'p0', 'bulk': 10.0, 'wall': 20.0}))
|
||||
pp = get_pipe_reaction(p, 'p0')
|
||||
assert pp['pipe'] == 'p0'
|
||||
assert pp['bulk'] == 10.0
|
||||
assert pp['wall'] == 20.0
|
||||
|
||||
set_pipe_reaction(p, ChangeSet({'pipe': 'p0', 'bulk': None, 'wall': None}))
|
||||
pp = get_pipe_reaction(p, 'p0')
|
||||
assert pp['pipe'] == 'p0'
|
||||
assert pp['bulk'] == None
|
||||
assert pp['wall'] == None
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_pipe_reaction_op(self):
|
||||
p = 'test_pipe_reaction_op'
|
||||
self.enter(p)
|
||||
|
||||
add_junction(p, ChangeSet({'id': 'j1', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_junction(p, ChangeSet({'id': 'j2', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_pipe(p, ChangeSet({'id': 'p0', 'node1': 'j1', 'node2': 'j2', 'length': 100.0, 'diameter': 10.0, 'roughness': 0.1, 'minor_loss': 0.5, 'status': PIPE_STATUS_OPEN }))
|
||||
|
||||
cs = set_pipe_reaction(p, ChangeSet({'pipe': 'p0', 'bulk': 10.0, 'wall': 20.0})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'pipe_reaction'
|
||||
assert cs['pipe'] == 'p0'
|
||||
assert cs['bulk'] == 10.0
|
||||
assert cs['wall'] == 20.0
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'pipe_reaction'
|
||||
assert cs['pipe'] == 'p0'
|
||||
assert cs['bulk'] == None
|
||||
assert cs['wall'] == None
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'pipe_reaction'
|
||||
assert cs['pipe'] == 'p0'
|
||||
assert cs['bulk'] == 10.0
|
||||
assert cs['wall'] == 20.0
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_tank_reaction(self):
|
||||
p = 'test_tank_reaction'
|
||||
self.enter(p)
|
||||
|
||||
add_tank(p, ChangeSet({'id': 't0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0, 'init_level': 1.0, 'min_level': 0.0, 'max_level': 2.0, 'diameter': 10.0, 'min_vol': 100.0, 'vol_curve': None, 'overflow': OVERFLOW_NO}))
|
||||
|
||||
pt = get_tank_reaction(p, 't0')
|
||||
assert pt['tank'] == 't0'
|
||||
assert pt['value'] == None
|
||||
|
||||
set_tank_reaction(p, ChangeSet({'tank': 't0', 'value': 10.0}))
|
||||
pt = get_tank_reaction(p, 't0')
|
||||
assert pt['tank'] == 't0'
|
||||
assert pt['value'] == 10.0
|
||||
|
||||
set_tank_reaction(p, ChangeSet({'tank': 't0', 'value': None}))
|
||||
pt = get_tank_reaction(p, 't0')
|
||||
assert pt['tank'] == 't0'
|
||||
assert pt['value'] == None
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_tank_reaction_op(self):
|
||||
p = 'test_tank_reaction_op'
|
||||
self.enter(p)
|
||||
|
||||
add_tank(p, ChangeSet({'id': 't0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0, 'init_level': 1.0, 'min_level': 0.0, 'max_level': 2.0, 'diameter': 10.0, 'min_vol': 100.0, 'vol_curve': None, 'overflow': OVERFLOW_NO}))
|
||||
|
||||
cs = set_tank_reaction(p, ChangeSet({'tank': 't0', 'value': 10.0})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'tank_reaction'
|
||||
assert cs['tank'] == 't0'
|
||||
assert cs['value'] == 10.0
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'tank_reaction'
|
||||
assert cs['tank'] == 't0'
|
||||
assert cs['value'] == None
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'tank_reaction'
|
||||
assert cs['tank'] == 't0'
|
||||
assert cs['value'] == 10.0
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# 20 mixing
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user