def __test_valid_values(self, **kwargs): expected_values = {'min': float('-inf'), 'max': float('+inf'), 'default': None} for k in kwargs: expected_values[k] = kwargs[k] expected_values['absolute_min'] = expected_values['min'] expected_values['absolute_max'] = expected_values['max'] if isinstance(expected_values['absolute_min'], ParameterDeclaration): expected_values['absolute_min'] = expected_values['absolute_min'].absolute_min_value if isinstance(expected_values['absolute_max'], ParameterDeclaration): expected_values['absolute_max'] = expected_values['absolute_max'].absolute_max_value decl = ParameterDeclaration('test', **kwargs) self.assertEqual('test', decl.name) self.assertEqual(expected_values['min'], decl.min_value) self.assertEqual(expected_values['max'], decl.max_value) self.assertEqual(expected_values['default'], decl.default_value) self.assertEqual(expected_values['absolute_min'], decl.absolute_min_value) self.assertEqual(expected_values['absolute_max'], decl.absolute_max_value) decl = ParameterDeclaration('test', default=expected_values['default']) if 'min' in kwargs: decl.min_value = kwargs['min'] if 'max' in kwargs: decl.max_value = kwargs['max'] self.assertEqual(expected_values['min'], decl.min_value) self.assertEqual(expected_values['max'], decl.max_value) self.assertEqual(expected_values['default'], decl.default_value) self.assertEqual(expected_values['absolute_min'], decl.absolute_min_value) self.assertEqual(expected_values['absolute_max'], decl.absolute_max_value)
def test_add_entry_time_declaration_lower_bound_after_declaration_no_upper_bound(self) -> None: table = TablePulseTemplate() self.maxDiff = None bar_decl = ParameterDeclaration('bar', min=1) foo_decl = ParameterDeclaration('foo', min=1) table.add_entry(bar_decl, -3) table.add_entry(foo_decl, 0.1) bar_decl.max_value = foo_decl self.assertEqual([(0, 0, HoldInterpolationStrategy()), (bar_decl, -3, HoldInterpolationStrategy()), (foo_decl, 0.1, HoldInterpolationStrategy())], table.entries) self.assertEqual({'foo', 'bar'}, table.parameter_names) self.assertEqual({foo_decl, bar_decl}, table.parameter_declarations)
def test_add_entry_time_declaration_lower_bound_after_declaration_no_upper_bound(self) -> None: table = TablePulseTemplate() self.maxDiff = None bar_decl = ParameterDeclaration('bar', min=1) foo_decl = ParameterDeclaration('foo', min=1) table.add_entry(bar_decl, -3) table.add_entry(foo_decl, 0.1) bar_decl.max_value = foo_decl self.assertEqual([[(0, 0, HoldInterpolationStrategy()), (bar_decl, -3, HoldInterpolationStrategy()), (foo_decl, 0.1, HoldInterpolationStrategy())]], table.entries) self.assertEqual({'foo', 'bar'}, table.parameter_names) self.assertEqual({foo_decl, bar_decl}, table.parameter_declarations)
def __test_valid_values(self, **kwargs): expected_values = { 'min': float('-inf'), 'max': float('+inf'), 'default': None } for k in kwargs: expected_values[k] = kwargs[k] expected_values['absolute_min'] = expected_values['min'] expected_values['absolute_max'] = expected_values['max'] if isinstance(expected_values['absolute_min'], ParameterDeclaration): expected_values['absolute_min'] = expected_values[ 'absolute_min'].absolute_min_value if isinstance(expected_values['absolute_max'], ParameterDeclaration): expected_values['absolute_max'] = expected_values[ 'absolute_max'].absolute_max_value decl = ParameterDeclaration('test', **kwargs) self.assertEqual('test', decl.name) self.assertEqual(expected_values['min'], decl.min_value) self.assertEqual(expected_values['max'], decl.max_value) self.assertEqual(expected_values['default'], decl.default_value) self.assertEqual(expected_values['absolute_min'], decl.absolute_min_value) self.assertEqual(expected_values['absolute_max'], decl.absolute_max_value) decl = ParameterDeclaration('test', default=expected_values['default']) if 'min' in kwargs: decl.min_value = kwargs['min'] if 'max' in kwargs: decl.max_value = kwargs['max'] self.assertEqual(expected_values['min'], decl.min_value) self.assertEqual(expected_values['max'], decl.max_value) self.assertEqual(expected_values['default'], decl.default_value) self.assertEqual(expected_values['absolute_min'], decl.absolute_min_value) self.assertEqual(expected_values['absolute_max'], decl.absolute_max_value)
def __max_assignment(self, decl: ParameterDeclaration, value: Union[ParameterDeclaration, float]) -> None: decl.max_value = value
def __max_assignment(self, decl: ParameterDeclaration, value: Union[ParameterDeclaration, float]) -> None: decl.max_value = value