def testTypeInfoNumberObjects(self): """Test the type info objects behave as expected.""" a = type_info.Integer() self.assertRaises(type_info.TypeValueError, a.Validate, "1") self.assertRaises(type_info.TypeValueError, a.Validate, "hello") a.Validate(1231232) a.Validate(-2)
def testTypeInfoListObjects(self): """Test List objects.""" a = type_info.List(type_info.Integer()) self.assertRaises(type_info.TypeValueError, a.Validate, 1) self.assertRaises(type_info.TypeValueError, a.Validate, "test") self.assertRaises(type_info.TypeValueError, a.Validate, None) self.assertRaises(type_info.TypeValueError, a.Validate, ["test"]) self.assertRaises(type_info.TypeValueError, a.Validate, [ rdfvalue.PathSpec()]) a.Validate([1, 2, 3])
def testTypeInfoMultiChoiceObjects(self): """Test MultiChoice objects.""" a = type_info.MultiChoice(choices=["a", "b"]) self.assertRaises(type_info.TypeValueError, a.Validate, "a") self.assertRaises(type_info.TypeValueError, a.Validate, ["test"]) self.assertRaises(type_info.TypeValueError, a.Validate, ["a", "test"]) self.assertRaises(type_info.TypeValueError, a.Validate, ["a", "a"]) self.assertRaises(type_info.TypeValueError, a.Validate, None) self.assertRaises(type_info.TypeValueError, a.Validate, [1]) self.assertRaises(type_info.TypeValueError, a.Validate, 1) a.Validate(["a"]) a.Validate(["a", "b"]) with self.assertRaises(type_info.TypeValueError): type_info.MultiChoice(choices=[1, 2]) a = type_info.MultiChoice(choices=[1, 2], validator=type_info.Integer()) self.assertRaises(type_info.TypeValueError, a.Validate, "a") self.assertRaises(type_info.TypeValueError, a.Validate, ["test"]) a.Validate([2]) a.Validate([1, 2])
def DEFINE_integer(name, default, help): """A helper for defining integer options.""" CONFIG.AddOption( type_info.Integer(name=name, default=default, description=help))