def test_custom_class(self):
     class A: pass
     @assure(isa(A))
     def f(x):
         return x
     a = A()
     self.assertEquals(a, f(a))
 def test_value_error(self):
     class A: pass
     @assure(isa(A))
     def f(x):
         return x
     with self.assertRaises(ValueError):
         f(1)
 def test_in_string(self):
     @assure(isa(str))
     def f(x):
         return x
     self.assertEquals("bla", f("bla"))