Exemple #1
0
 def test_coerce_to_does_not_coerce_undefined(self):
     c = coerce_to(int)
     self.assertEqual(c(Undefined), Undefined)
     c = coerce_to(bool)
     self.assertEqual(c(Undefined), Undefined)
     c = coerce_to(unicode)
     self.assertEqual(c(Undefined), Undefined)
 def test_coerce_to_does_not_coerce_undefined(self):
     c = coerce_to(int)
     self.assertEqual(c(Undefined), Undefined)
     c = coerce_to(bool)
     self.assertEqual(c(Undefined), Undefined)
     c = coerce_to(unicode)
     self.assertEqual(c(Undefined), Undefined)
    def test_coerce_to_raises_an_invalid_exception_on_bad_data(self):
        with self.assertRaises(Invalid) as cm:
            c = coerce_to(int)
            c("abc")
        self.assertEqual(str(cm.exception), "Expected int")

        with self.assertRaises(Invalid) as cm:
            c = coerce_to(float)
            c(None)
        self.assertEqual(str(cm.exception), "Expected float")
    def test_coerce_to_returns_values_based_on_passed_in_type(self):
        c = coerce_to(int)
        self.assertEqual(c("0"), 0)
        self.assertEqual(c("1"), 1)
        self.assertEqual(c(1234), 1234)

        c = coerce_to(unicode)
        self.assertEqual(c(0), "0")
        self.assertEqual(c(False), "False")
        self.assertEqual(c("abc"), "abc")
Exemple #5
0
    def test_coerce_to_raises_an_invalid_exception_on_bad_data(self):
        with self.assertRaises(Invalid) as cm:
            c = coerce_to(int)
            c("abc")
        self.assertEqual(str(cm.exception), "Expected int")

        with self.assertRaises(Invalid) as cm:
            c = coerce_to(float)
            c(None)
        self.assertEqual(str(cm.exception), "Expected float")
Exemple #6
0
    def test_coerce_to_returns_values_based_on_passed_in_type(self):
        c = coerce_to(int)
        self.assertEqual(c("0"), 0)
        self.assertEqual(c("1"), 1)
        self.assertEqual(c(1234), 1234)

        c = coerce_to(unicode)
        self.assertEqual(c(0), "0")
        self.assertEqual(c(False), "False")
        self.assertEqual(c("abc"), "abc")
    def test_basic_integration_test(self):
        s = Schema({
            "abc": All(coerce_to(str), when_empty(Invalid)),
            "def": All(int, when_empty(Invalid))
        })
        with self.assertRaises(InvalidGroup) as cm:
            s({})
        self.assertEqual(
            map(str, cm.exception.errors),
            [
                "A value is required @ data[abc]",
                "A value is required @ data[def]"
            ],
        )
        a = s({"abc": 1, "def": 2})
        self.assertEqual(a, {"abc": "1", "def": 2})

        s = Schema(All({
            "abc": coerce_to(str),
            "def": int
        }))
        with self.assertRaises(InvalidGroup) as cm:
            s({"abc": 1, "def": "abc"})
        self.assertEqual(
            map(str, cm.exception.errors),
            [
                "Expected int @ data[def]"
            ]
        )

        s = Schema(All({
            "abc": All(coerce_to(str), when_empty(Invalid)),
            "def": All(int, when_empty(Invalid))
        }))
        with self.assertRaises(InvalidGroup) as cm:
            s({})
        self.assertEqual(
            map(str, cm.exception.errors),
            [
                "A value is required @ data[abc]",
                "A value is required @ data[def]"
            ],
        )
Exemple #8
0
    def test_basic_integration_test(self):
        s = Schema({
            "abc": All(coerce_to(str), when_empty(Invalid)),
            "def": All(int, when_empty(Invalid))
        })
        with self.assertRaises(InvalidGroup) as cm:
            s({})
        self.assertEqual(
            map(str, cm.exception.errors),
            [
                "A value is required @ data[abc]",
                "A value is required @ data[def]"
            ],
        )
        a = s({"abc": 1, "def": 2})
        self.assertEqual(a, {"abc": "1", "def": 2})

        s = Schema(All({"abc": coerce_to(str), "def": int}))
        with self.assertRaises(InvalidGroup) as cm:
            s({"abc": 1, "def": "abc"})
        self.assertEqual(map(str, cm.exception.errors),
                         ["Expected int @ data[def]"])

        s = Schema(
            All({
                "abc": All(coerce_to(str), when_empty(Invalid)),
                "def": All(int, when_empty(Invalid))
            }))
        with self.assertRaises(InvalidGroup) as cm:
            s({})
        self.assertEqual(
            map(str, cm.exception.errors),
            [
                "A value is required @ data[abc]",
                "A value is required @ data[def]"
            ],
        )