Add option api and test

This commit is contained in:
WQY\qiong
2022-10-22 15:31:22 +08:00
parent 15ed42e5ac
commit 3dae83b18d
6 changed files with 319 additions and 0 deletions

View File

@@ -1596,6 +1596,174 @@ class TestApi:
self.leave(p)
def test_option(self):
p = 'test_option'
self.enter(p)
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_GPM
assert o['HEADLOSS'] == OPTION_HEADLOSS_HW
assert o['VISCOSITY'] == '1.0'
assert o['SPECIFIC GRAVITY'] == '1.0'
assert o['TRIALS'] == '40'
assert o['ACCURACY'] == '0.001'
assert o['FLOWCHANGE'] == '0'
assert o['HEADERROR'] == '0'
assert o['CHECKFREQ'] == '2'
assert o['MAXCHECK'] == '10'
assert o['DAMPLIMIT'] == '0'
assert o['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert o['MINIMUM PRESSURE'] == '0'
assert o['REQUIRED PRESSURE'] == '0.1'
assert o['PRESSURE EXPONENT'] == '0.5'
assert o['PATTERN'] == '1'
assert o['DEMAND MULTIPLIER'] == '1.0'
assert o['EMITTER EXPONENT'] == '0.5'
assert o['QUALITY'] == OPTION_QUALITY_NONE
assert o['DIFFUSIVITY'] == '1.0'
assert o['TOLERANCE'] == '0.01'
o['UNITS'] = OPTION_UNITS_LPS
set_option(p, ChangeSet(o))
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_LPS
assert o['HEADLOSS'] == OPTION_HEADLOSS_HW
assert o['VISCOSITY'] == '1.0'
assert o['SPECIFIC GRAVITY'] == '1.0'
assert o['TRIALS'] == '40'
assert o['ACCURACY'] == '0.001'
assert o['FLOWCHANGE'] == '0'
assert o['HEADERROR'] == '0'
assert o['CHECKFREQ'] == '2'
assert o['MAXCHECK'] == '10'
assert o['DAMPLIMIT'] == '0'
assert o['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert o['MINIMUM PRESSURE'] == '0'
assert o['REQUIRED PRESSURE'] == '0.1'
assert o['PRESSURE EXPONENT'] == '0.5'
assert o['PATTERN'] == '1'
assert o['DEMAND MULTIPLIER'] == '1.0'
assert o['EMITTER EXPONENT'] == '0.5'
assert o['QUALITY'] == OPTION_QUALITY_NONE
assert o['DIFFUSIVITY'] == '1.0'
assert o['TOLERANCE'] == '0.01'
self.leave(p)
def test_option_op(self):
p = 'test_option_op'
self.enter(p)
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_GPM
assert o['HEADLOSS'] == OPTION_HEADLOSS_HW
assert o['VISCOSITY'] == '1.0'
assert o['SPECIFIC GRAVITY'] == '1.0'
assert o['TRIALS'] == '40'
assert o['ACCURACY'] == '0.001'
assert o['FLOWCHANGE'] == '0'
assert o['HEADERROR'] == '0'
assert o['CHECKFREQ'] == '2'
assert o['MAXCHECK'] == '10'
assert o['DAMPLIMIT'] == '0'
assert o['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert o['MINIMUM PRESSURE'] == '0'
assert o['REQUIRED PRESSURE'] == '0.1'
assert o['PRESSURE EXPONENT'] == '0.5'
assert o['PATTERN'] == '1'
assert o['DEMAND MULTIPLIER'] == '1.0'
assert o['EMITTER EXPONENT'] == '0.5'
assert o['QUALITY'] == OPTION_QUALITY_NONE
assert o['DIFFUSIVITY'] == '1.0'
assert o['TOLERANCE'] == '0.01'
o['UNITS'] = OPTION_UNITS_LPS
cs = set_option(p, ChangeSet(o)).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'option'
assert cs['UNITS'] == OPTION_UNITS_LPS
assert cs['HEADLOSS'] == OPTION_HEADLOSS_HW
assert cs['VISCOSITY'] == '1.0'
assert cs['SPECIFIC GRAVITY'] == '1.0'
assert cs['TRIALS'] == '40'
assert cs['ACCURACY'] == '0.001'
assert cs['FLOWCHANGE'] == '0'
assert cs['HEADERROR'] == '0'
assert cs['CHECKFREQ'] == '2'
assert cs['MAXCHECK'] == '10'
assert cs['DAMPLIMIT'] == '0'
assert cs['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert cs['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert cs['MINIMUM PRESSURE'] == '0'
assert cs['REQUIRED PRESSURE'] == '0.1'
assert cs['PRESSURE EXPONENT'] == '0.5'
assert cs['PATTERN'] == '1'
assert cs['DEMAND MULTIPLIER'] == '1.0'
assert cs['EMITTER EXPONENT'] == '0.5'
assert cs['QUALITY'] == OPTION_QUALITY_NONE
assert cs['DIFFUSIVITY'] == '1.0'
assert cs['TOLERANCE'] == '0.01'
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'option'
assert cs['UNITS'] == OPTION_UNITS_GPM
assert cs['HEADLOSS'] == OPTION_HEADLOSS_HW
assert cs['VISCOSITY'] == '1.0'
assert cs['SPECIFIC GRAVITY'] == '1.0'
assert cs['TRIALS'] == '40'
assert cs['ACCURACY'] == '0.001'
assert cs['FLOWCHANGE'] == '0'
assert cs['HEADERROR'] == '0'
assert cs['CHECKFREQ'] == '2'
assert cs['MAXCHECK'] == '10'
assert cs['DAMPLIMIT'] == '0'
assert cs['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert cs['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert cs['MINIMUM PRESSURE'] == '0'
assert cs['REQUIRED PRESSURE'] == '0.1'
assert cs['PRESSURE EXPONENT'] == '0.5'
assert cs['PATTERN'] == '1'
assert cs['DEMAND MULTIPLIER'] == '1.0'
assert cs['EMITTER EXPONENT'] == '0.5'
assert cs['QUALITY'] == OPTION_QUALITY_NONE
assert cs['DIFFUSIVITY'] == '1.0'
assert cs['TOLERANCE'] == '0.01'
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'option'
assert cs['UNITS'] == OPTION_UNITS_LPS
assert cs['HEADLOSS'] == OPTION_HEADLOSS_HW
assert cs['VISCOSITY'] == '1.0'
assert cs['SPECIFIC GRAVITY'] == '1.0'
assert cs['TRIALS'] == '40'
assert cs['ACCURACY'] == '0.001'
assert cs['FLOWCHANGE'] == '0'
assert cs['HEADERROR'] == '0'
assert cs['CHECKFREQ'] == '2'
assert cs['MAXCHECK'] == '10'
assert cs['DAMPLIMIT'] == '0'
assert cs['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert cs['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert cs['MINIMUM PRESSURE'] == '0'
assert cs['REQUIRED PRESSURE'] == '0.1'
assert cs['PRESSURE EXPONENT'] == '0.5'
assert cs['PATTERN'] == '1'
assert cs['DEMAND MULTIPLIER'] == '1.0'
assert cs['EMITTER EXPONENT'] == '0.5'
assert cs['QUALITY'] == OPTION_QUALITY_NONE
assert cs['DIFFUSIVITY'] == '1.0'
assert cs['TOLERANCE'] == '0.01'
self.leave(p)
def test_snapshot(self):
p = "test_snapshot"
self.enter(p)