Update test_option case

This commit is contained in:
WQY\qiong
2023-03-09 00:03:07 +08:00
parent 0e1522f8e6
commit e06506d5dd

View File

@@ -3230,62 +3230,253 @@ class TestApi:
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_GPM
assert o['PRESSURE'] == OPTION_PRESSURE_PSI
assert o['HEADLOSS'] == OPTION_HEADLOSS_HW
assert o['QUALITY'] == OPTION_QUALITY_NONE
assert o['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert o['PATTERN'] == '1'
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert o['DEMAND MULTIPLIER'] == '1.0'
assert o['EMITTER EXPONENT'] == '0.5'
assert o['VISCOSITY'] == '1.0'
assert o['DIFFUSIVITY'] == '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['HEADERROR'] == '0.0'
assert o['FLOWCHANGE'] == '0.0'
assert o['MINIMUM PRESSURE'] == '0.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'
assert o['PRESSURE'] == OPTION_PRESSURE_PSI
assert o['HTOL'] == '0.0005'
assert o['QTOL'] == '0.0001'
assert o['RQTOL'] == '0.0000001'
assert o['CHECKFREQ'] == '2'
assert o['MAXCHECK'] == '10'
assert o['DAMPLIMIT'] == '0'
o3 = get_option_v3(p)
assert o3['FLOW_UNITS'] == OPTION_V3_FLOW_UNITS_GPM
assert o3['PRESSURE_UNITS'] == OPTION_V3_PRESSURE_UNITS_PSI
assert o3['HEADLOSS_MODEL'] == OPTION_V3_HEADLOSS_MODEL_HW
assert o3['SPECIFIC_GRAVITY'] == '1.0'
assert o3['SPECIFIC_VISCOSITY'] == '1.0'
assert o3['MAXIMUM_TRIALS'] == '40'
assert o3['HEAD_TOLERANCE'] == '0.0005'
assert o3['FLOW_TOLERANCE'] == '0.0001'
assert o3['FLOW_CHANGE_LIMIT'] == '0.0'
assert o3['RELATIVE_ACCURACY'] == '0.001'
assert o3['TIME_WEIGHT'] == '0.0'
assert o3['STEP_SIZING'] == OPTION_V3_STEP_SIZING_FULL
assert o3['IF_UNBALANCED'] == OPTION_V3_IF_UNBALANCED_STOP
assert o3['DEMAND_MODEL'] == OPTION_V3_DEMAND_MODEL_FIXED
assert o3['DEMAND_PATTERN'] == '1'
assert o3['DEMAND_MULTIPLIER'] == '1.0'
assert o3['MINIMUM_PRESSURE'] == '0.0'
assert o3['SERVICE_PRESSURE'] == '0.1'
assert o3['PRESSURE_EXPONENT'] == '0.5'
assert o3['LEAKAGE_MODEL'] == OPTION_V3_LEAKAGE_MODEL_NONE
assert o3['LEAKAGE_COEFF1'] == '0.0'
assert o3['LEAKAGE_COEFF2'] == '0.0'
assert o3['EMITTER_EXPONENT'] == '0.5'
assert o3['QUALITY_MODEL'] == OPTION_V3_QUALITY_MODEL_NONE
assert o3['QUALITY_NAME'] == OPTION_V3_QUALITY_MODEL_CHEMICAL
assert o3['QUALITY_UNITS'] == OPTION_V3_QUALITY_UNITS_MGL
assert o3['TRACE_NODE'] == ''
assert o3['SPECIFIC_DIFFUSIVITY'] == '1.0'
assert o3['QUALITY_TOLERANCE'] == '0.01'
o['UNITS'] = OPTION_UNITS_LPS
o['PRESSURE'] = OPTION_PRESSURE_KPA
o['HEADLOSS'] = OPTION_HEADLOSS_DW
o['QUALITY'] = f'{OPTION_QUALITY_TRACE} 1'
o['UNBALANCED'] = OPTION_UNBALANCED_CONTINUE
o['PATTERN'] = '2'
o['DEMAND MODEL'] = OPTION_DEMAND_MODEL_PDA
o['DEMAND MULTIPLIER'] = '2.0'
o['EMITTER EXPONENT'] = '1.5'
o['VISCOSITY'] = '2.0'
o['DIFFUSIVITY'] = '2.0'
o['SPECIFIC GRAVITY'] = '2.0'
o['TRIALS'] = '50'
o['ACCURACY'] = '0.0001'
o['HEADERROR'] = '0.01'
o['FLOWCHANGE'] = '0.01'
o['MINIMUM PRESSURE'] = '0.01'
o['REQUIRED PRESSURE'] = '0.01'
o['PRESSURE EXPONENT'] = '0.05'
o['TOLERANCE'] = '0.001'
o['HTOL'] = '0.005'
o['QTOL'] = '0.001'
o['RQTOL'] = '0.000001'
o['CHECKFREQ'] = '1'
o['MAXCHECK'] = '15'
o['DAMPLIMIT'] = '1'
set_option(p, ChangeSet(o))
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_LPS
assert o['PRESSURE'] == OPTION_PRESSURE_KPA
assert o['HEADLOSS'] == OPTION_HEADLOSS_DW
assert o['QUALITY'] == f'{OPTION_QUALITY_TRACE} 1'
assert o['UNBALANCED'] == OPTION_UNBALANCED_CONTINUE
assert o['PATTERN'] == '2'
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_PDA
assert o['DEMAND MULTIPLIER'] == '2.0'
assert o['EMITTER EXPONENT'] == '1.5'
assert o['VISCOSITY'] == '2.0'
assert o['DIFFUSIVITY'] == '2.0'
assert o['SPECIFIC GRAVITY'] == '2.0'
assert o['TRIALS'] == '50'
assert o['ACCURACY'] == '0.0001'
assert o['HEADERROR'] == '0.01'
assert o['FLOWCHANGE'] == '0.01'
assert o['MINIMUM PRESSURE'] == '0.01'
assert o['REQUIRED PRESSURE'] == '0.01'
assert o['PRESSURE EXPONENT'] == '0.05'
assert o['TOLERANCE'] == '0.001'
assert o['HTOL'] == '0.005'
assert o['QTOL'] == '0.001'
assert o['RQTOL'] == '0.000001'
assert o['CHECKFREQ'] == '1'
assert o['MAXCHECK'] == '15'
assert o['DAMPLIMIT'] == '1'
o3 = get_option_v3(p)
assert o3['FLOW_UNITS'] == OPTION_V3_FLOW_UNITS_LPS
assert o3['PRESSURE_UNITS'] == OPTION_V3_PRESSURE_UNITS_KPA
assert o3['HEADLOSS_MODEL'] == OPTION_V3_HEADLOSS_MODEL_DW
assert o3['SPECIFIC_GRAVITY'] == '2.0'
assert o3['SPECIFIC_VISCOSITY'] == '2.0'
assert o3['MAXIMUM_TRIALS'] == '50'
assert o3['HEAD_TOLERANCE'] == '0.005'
assert o3['FLOW_TOLERANCE'] == '0.001'
assert o3['FLOW_CHANGE_LIMIT'] == '0.01'
assert o3['RELATIVE_ACCURACY'] == '0.0001'
assert o3['TIME_WEIGHT'] == '0.0'
assert o3['STEP_SIZING'] == OPTION_V3_STEP_SIZING_FULL
assert o3['IF_UNBALANCED'] == OPTION_V3_IF_UNBALANCED_CONTINUE
assert o3['DEMAND_MODEL'] == OPTION_V3_DEMAND_MODEL_POWER
assert o3['DEMAND_PATTERN'] == '2'
assert o3['DEMAND_MULTIPLIER'] == '2.0'
assert o3['MINIMUM_PRESSURE'] == '0.01'
assert o3['SERVICE_PRESSURE'] == '0.01'
assert o3['PRESSURE_EXPONENT'] == '0.05'
assert o3['LEAKAGE_MODEL'] == OPTION_V3_LEAKAGE_MODEL_NONE
assert o3['LEAKAGE_COEFF1'] == '0.0'
assert o3['LEAKAGE_COEFF2'] == '0.0'
assert o3['EMITTER_EXPONENT'] == '1.5'
assert o3['QUALITY_MODEL'] == OPTION_V3_QUALITY_MODEL_TRACE
assert o3['QUALITY_NAME'] == OPTION_V3_QUALITY_MODEL_CHEMICAL
assert o3['QUALITY_UNITS'] == OPTION_V3_QUALITY_UNITS_MGL
assert o3['TRACE_NODE'] == '1'
assert o3['SPECIFIC_DIFFUSIVITY'] == '2.0'
assert o3['QUALITY_TOLERANCE'] == '0.001'
o3['FLOW_UNITS'] = OPTION_V3_FLOW_UNITS_GPM
o3['PRESSURE_UNITS'] = OPTION_V3_PRESSURE_UNITS_PSI
o3['HEADLOSS_MODEL'] = OPTION_V3_HEADLOSS_MODEL_HW
o3['SPECIFIC_GRAVITY'] = '1.0'
o3['SPECIFIC_VISCOSITY'] = '1.0'
o3['MAXIMUM_TRIALS'] = '40'
o3['HEAD_TOLERANCE'] = '0.0005'
o3['FLOW_TOLERANCE'] = '0.0001'
o3['FLOW_CHANGE_LIMIT'] = '0.0'
o3['RELATIVE_ACCURACY'] = '0.001'
o3['TIME_WEIGHT'] = '0.0'
o3['STEP_SIZING'] = OPTION_V3_STEP_SIZING_RELAXATION
o3['IF_UNBALANCED'] = OPTION_V3_IF_UNBALANCED_STOP
o3['DEMAND_MODEL'] = OPTION_V3_DEMAND_MODEL_FIXED
o3['DEMAND_PATTERN'] = '1'
o3['DEMAND_MULTIPLIER'] = '1.0'
o3['MINIMUM_PRESSURE'] = '0.0'
o3['SERVICE_PRESSURE'] = '0.1'
o3['PRESSURE_EXPONENT'] = '0.5'
o3['LEAKAGE_MODEL'] = OPTION_V3_LEAKAGE_MODEL_POWER
o3['LEAKAGE_COEFF1'] = '1.0'
o3['LEAKAGE_COEFF2'] = '2.0'
o3['EMITTER_EXPONENT'] = '0.5'
o3['QUALITY_MODEL'] = OPTION_V3_QUALITY_MODEL_TRACE
o3['QUALITY_NAME'] = OPTION_V3_QUALITY_MODEL_NONE
o3['QUALITY_UNITS'] = OPTION_V3_QUALITY_UNITS_HRS
o3['TRACE_NODE'] = '2'
o3['SPECIFIC_DIFFUSIVITY'] = '1.0'
o3['QUALITY_TOLERANCE'] = '0.01'
set_option_v3(p, ChangeSet(o3))
o3 = get_option_v3(p)
assert o3['FLOW_UNITS'] == OPTION_V3_FLOW_UNITS_GPM
assert o3['PRESSURE_UNITS'] == OPTION_V3_PRESSURE_UNITS_PSI
assert o3['HEADLOSS_MODEL'] == OPTION_V3_HEADLOSS_MODEL_HW
assert o3['SPECIFIC_GRAVITY'] == '1.0'
assert o3['SPECIFIC_VISCOSITY'] == '1.0'
assert o3['MAXIMUM_TRIALS'] == '40'
assert o3['HEAD_TOLERANCE'] == '0.0005'
assert o3['FLOW_TOLERANCE'] == '0.0001'
assert o3['FLOW_CHANGE_LIMIT'] == '0.0'
assert o3['RELATIVE_ACCURACY'] == '0.001'
assert o3['TIME_WEIGHT'] == '0.0'
assert o3['STEP_SIZING'] == OPTION_V3_STEP_SIZING_RELAXATION
assert o3['IF_UNBALANCED'] == OPTION_V3_IF_UNBALANCED_STOP
assert o3['DEMAND_MODEL'] == OPTION_V3_DEMAND_MODEL_FIXED
assert o3['DEMAND_PATTERN'] == '1'
assert o3['DEMAND_MULTIPLIER'] == '1.0'
assert o3['MINIMUM_PRESSURE'] == '0.0'
assert o3['SERVICE_PRESSURE'] == '0.1'
assert o3['PRESSURE_EXPONENT'] == '0.5'
assert o3['LEAKAGE_MODEL'] == OPTION_V3_LEAKAGE_MODEL_POWER
assert o3['LEAKAGE_COEFF1'] == '1.0'
assert o3['LEAKAGE_COEFF2'] == '2.0'
assert o3['EMITTER_EXPONENT'] == '0.5'
assert o3['QUALITY_MODEL'] == OPTION_V3_QUALITY_MODEL_TRACE
assert o3['QUALITY_NAME'] == OPTION_V3_QUALITY_MODEL_NONE
assert o3['QUALITY_UNITS'] == OPTION_V3_QUALITY_UNITS_HRS
assert o3['TRACE_NODE'] == '2'
assert o3['SPECIFIC_DIFFUSIVITY'] == '1.0'
assert o3['QUALITY_TOLERANCE'] == '0.01'
o = get_option(p)
assert o['UNITS'] == OPTION_UNITS_GPM
assert o['PRESSURE'] == OPTION_PRESSURE_PSI
assert o['HEADLOSS'] == OPTION_HEADLOSS_HW
assert o['QUALITY'] == f'{OPTION_QUALITY_TRACE} 2'
assert o['UNBALANCED'] == OPTION_UNBALANCED_STOP
assert o['PATTERN'] == '1'
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_DDA
assert o['DEMAND MULTIPLIER'] == '1.0'
assert o['EMITTER EXPONENT'] == '0.5'
assert o['VISCOSITY'] == '1.0'
assert o['DIFFUSIVITY'] == '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['HEADERROR'] == '0.01'
assert o['FLOWCHANGE'] == '0.0'
assert o['MINIMUM PRESSURE'] == '0.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'
assert o['PRESSURE'] == OPTION_PRESSURE_PSI
assert o['HTOL'] == '0.0005'
assert o['QTOL'] == '0.0001'
assert o['RQTOL'] == '0.0000001'
assert o['RQTOL'] == '0.000001'
assert o['CHECKFREQ'] == '1'
assert o['MAXCHECK'] == '15'
assert o['DAMPLIMIT'] == '1'
o3['DEMAND_MODEL'] = OPTION_V3_DEMAND_MODEL_CONSTRAINED
set_option_v3(p, ChangeSet(o3))
assert o3['DEMAND_MODEL'] == OPTION_V3_DEMAND_MODEL_CONSTRAINED
o = get_option(p)
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_PDA
o3['DEMAND_MODEL'] = OPTION_V3_DEMAND_MODEL_LOGISTIC
set_option_v3(p, ChangeSet(o3))
assert o3['DEMAND_MODEL'] == OPTION_V3_DEMAND_MODEL_LOGISTIC
o = get_option(p)
assert o['DEMAND MODEL'] == OPTION_DEMAND_MODEL_PDA
self.leave(p)