Add mixing api and test

This commit is contained in:
WQY\qiong
2022-11-11 21:00:03 +08:00
parent 026e582b84
commit cd857009ff
4 changed files with 243 additions and 0 deletions

View File

@@ -2576,6 +2576,125 @@ class TestApi:
self.leave(p)
# 20 mixing
def test_mixing(self):
p = 'test_mixing'
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}))
add_mixing(p, ChangeSet({'tank': 't0', 'model': MIXING_MODEL_MIXED, 'value': 10.0}))
m = get_mixing(p,'t0')
assert m['tank'] == 't0'
assert m['model'] == MIXING_MODEL_MIXED
assert m['value'] == 10.0
set_mixing(p, ChangeSet({'tank': 't0', 'model': MIXING_MODEL_2COMP}))
m = get_mixing(p,'t0')
assert m['tank'] == 't0'
assert m['model'] == MIXING_MODEL_2COMP
assert m['value'] == 10.0
set_mixing(p, ChangeSet({'tank': 't0', 'value': 20.0}))
m = get_mixing(p,'t0')
assert m['tank'] == 't0'
assert m['model'] == MIXING_MODEL_2COMP
assert m['value'] == 20.0
delete_mixing(p, ChangeSet({'tank': 't0'}))
self.leave(p)
def test_mixing_op(self):
p = 'test_mixing_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 = add_mixing(p, ChangeSet({'tank': 't0', 'model': MIXING_MODEL_MIXED, 'value': 10.0})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_MIXED
assert cs['value'] == 10.0
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_MIXED
assert cs['value'] == 10.0
cs = set_mixing(p, ChangeSet({'tank': 't0', 'model': MIXING_MODEL_2COMP})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 10.0
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_MIXED
assert cs['value'] == 10.0
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 10.0
cs = set_mixing(p, ChangeSet({'tank': 't0', 'value': 20.0})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 20.0
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 10.0
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 20.0
cs = delete_mixing(p, ChangeSet({'tank': 't0'})).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
assert cs['model'] == MIXING_MODEL_2COMP
assert cs['value'] == 20.0
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == 'mixing'
assert cs['tank'] == 't0'
self.leave(p)
# 21 time