def test_get_value(self) -> None: decl = ParameterDeclaration('foo') foo_param = ConstantParameter(2.1) self.assertEqual(foo_param.get_value(), decl.get_value({'foo': foo_param})) self.assertRaises(ParameterNotProvidedException, decl.get_value, {}) decl = ParameterDeclaration('foo', default=2.7) self.assertEqual(decl.default_value, decl.get_value({})) decl = ParameterDeclaration('foo', min=1.3) self.assertEqual(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertEqual(1.3, decl.get_value({'foo': ConstantParameter(1.3)})) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'foo': ConstantParameter(1.1)}) decl = ParameterDeclaration('foo', max=2.3) self.assertTrue(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertTrue(2.3, decl.get_value({'foo': ConstantParameter(2.3)})) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'foo': ConstantParameter(3.1)}) decl = ParameterDeclaration('foo', min=1.3, max=2.3) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'foo': ConstantParameter(0.9)}) self.assertEqual(1.3, decl.get_value({'foo': ConstantParameter(1.3)})) self.assertEqual(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertEqual(2.3, decl.get_value({'foo': ConstantParameter(2.3)})) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'foo': ConstantParameter(3.1)}) min_decl = ParameterDeclaration('min', min=1.2, max=2.3) max_decl = ParameterDeclaration('max', min=1.2, max=5.1) min_param = ConstantParameter(1.3) max_param = ConstantParameter(2.3) decl = ParameterDeclaration('foo', min=min_decl, max=max_decl) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(0.9)}) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.2)}) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.25)}) self.assertEqual(1.3, decl.get_value({'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.3)})) self.assertEqual(1.7, decl.get_value({'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.7)})) self.assertEqual(2.3, decl.get_value({'min': min_param, 'max': max_param, 'foo': ConstantParameter(2.3)})) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(3.5)}) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(5.1)}) self.assertRaises(ParameterValueIllegalException, decl.get_value, {'min': min_param, 'max': max_param, 'foo': ConstantParameter(17.2)})
def test_get_value(self) -> None: decl = ParameterDeclaration('foo') foo_param = ConstantParameter(2.1) self.assertEqual(foo_param.get_value(), decl.get_value({'foo': foo_param})) with self.assertRaises(ParameterNotProvidedException): decl.get_value(dict()) decl = ParameterDeclaration('foo', default=2.7) self.assertEqual(decl.default_value, decl.get_value({})) decl = ParameterDeclaration('foo', min=1.3) self.assertEqual(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertEqual(1.3, decl.get_value({'foo': ConstantParameter(1.3)})) with self.assertRaises(ParameterValueIllegalException): decl.get_value({'foo': ConstantParameter(1.1)}) decl = ParameterDeclaration('foo', max=2.3) self.assertTrue(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertTrue(2.3, decl.get_value({'foo': ConstantParameter(2.3)})) with self.assertRaises(ParameterValueIllegalException): decl.get_value({'foo': ConstantParameter(3.1)}) decl = ParameterDeclaration('foo', min=1.3, max=2.3) with self.assertRaises(ParameterValueIllegalException): decl.get_value({'foo': ConstantParameter(0.9)}) self.assertEqual(1.3, decl.get_value({'foo': ConstantParameter(1.3)})) self.assertEqual(1.4, decl.get_value({'foo': ConstantParameter(1.4)})) self.assertEqual(2.3, decl.get_value({'foo': ConstantParameter(2.3)})) with self.assertRaises(ParameterValueIllegalException): decl.get_value({'foo': ConstantParameter(3.1)}) min_decl = ParameterDeclaration('min', min=1.2, max=2.3) max_decl = ParameterDeclaration('max', min=1.2, max=5.1) min_param = ConstantParameter(1.3) max_param = ConstantParameter(2.3) decl = ParameterDeclaration('foo', min=min_decl, max=max_decl) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(0.9) }) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.2) }) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.25) }) self.assertEqual( 1.3, decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.3) })) self.assertEqual( 1.7, decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(1.7) })) self.assertEqual( 2.3, decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(2.3) })) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(3.5) }) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(5.1) }) with self.assertRaises(ParameterValueIllegalException): decl.get_value({ 'min': min_param, 'max': max_param, 'foo': ConstantParameter(17.2) })
def __test_valid_params(self, value: float) -> None: constant_parameter = ConstantParameter(value) self.assertEqual(value, constant_parameter.get_value()) self.assertEqual(value, float(constant_parameter))