def test_validate_type_raises_invalid_on_invalid_data(self): with self.assertRaises(Invalid) as cm: Schema._validate_type(unicode, 1, []) self.assertEqual(str(cm.exception), "Expected unicode") self.assertEqual(cm.exception.data, 1) with self.assertRaises(Invalid) as cm: Schema._validate_type(int, "abc", [1]) self.assertEqual(str(cm.exception), "Expected int @ data[1]") self.assertEqual(cm.exception.data, "abc") with self.assertRaises(Invalid) as cm: Schema._validate_type(bool, None, ["a", 0, "b"]) self.assertEqual(str(cm.exception), "Expected bool @ data[a][0][b]") self.assertEqual(cm.exception.data, None)
def test_validate_type_returns_undefined_when_passed_undefined(self): self.assertEqual( Schema._validate_type(unicode, Undefined, []), Undefined) self.assertEqual( Schema._validate_type(int, Undefined, []), Undefined)
def test_validate_type_returns_the_data_when_valid(self): self.assertEqual(Schema._validate_type(unicode, "", []), "") self.assertEqual(Schema._validate_type(int, 0, []), 0) self.assertEqual(Schema._validate_type(bool, False, []), False)
def test_validate_type_returns_undefined_when_passed_undefined(self): self.assertEqual(Schema._validate_type(unicode, Undefined, []), Undefined) self.assertEqual(Schema._validate_type(int, Undefined, []), Undefined)