Example #1
0
class InstanceOf(MatcherTestCase):

    def test_invalid_type(self):
        with self.assertRaises(TypeError):
            __unit__.InstanceOf(object())

    def test_none(self):
        self.assert_match(None, object)
        self.assert_no_match(None, self.Class)

    def test_zero(self):
        self.assert_match(0, int)
        self.assert_no_match(0, self.Class)

    def test_string(self):
        s = "Alice has a cat"
        self.assert_match(s, str)
        self.assert_no_match(s, self.Class)

    def test_class__inexact(self):
        self.assert_match(self.Class(), self.Class)
        self.assert_no_match(self.Class(), int)

    def test_class__exact(self):
        self.assert_match(self.Class(), self.Class, exact=True)
        self.assert_no_match(self.Class(), object, exact=True)

    def test_meta(self):
        self.assert_match(self.Class, type)
        self.assert_match(self.Class, type, exact=True)
        self.assert_match(type, type)
        self.assert_match(type, type, exact=True)

    test_repr = lambda self: self.assert_repr(__unit__.InstanceOf(object))

    # Utility code

    class Class(object):
        pass

    def assert_match(self, value, type_, exact=False):
        return super(InstanceOf, self) \
            .assert_match(__unit__.InstanceOf(type_, exact), value)

    def assert_no_match(self, value, type_, exact=False):
        return super(InstanceOf, self) \
            .assert_no_match(__unit__.InstanceOf(type_, exact), value)
Example #2
0
 def test_invalid_type(self):
     with self.assertRaises(TypeError):
         __unit__.InstanceOf(object())
Example #3
0
 def assert_no_match(self, value, type_):
     return super(InstanceOf, self) \
         .assert_no_match(__unit__.InstanceOf(type_), value)
Example #4
0
 def assert_match(self, value, type_, exact=False):
     return super(InstanceOf, self) \
         .assert_match(__unit__.InstanceOf(type_, exact), value)