def test_patched_invariants_instance(self): class A: x = 2 PatchedA = deal.inv(lambda obj: obj.x > 0)(A) # noQA a = PatchedA() assert isinstance(a, PatchedA) assert isinstance(a, A) PatchedA2 = deal.inv(lambda obj: obj.x > 0)(PatchedA) # noQA a = PatchedA2() assert isinstance(a, PatchedA) assert isinstance(a, PatchedA2) assert isinstance(a, A) assert a.__class__.__name__.count('Invarianted') == 1
def test_instance(self): class A: x = 2 PatchedA = deal.inv(lambda obj: obj.x > 0)(A) # noQA a = PatchedA() with self.subTest(text='isinstance'): self.assertIsInstance(a, PatchedA) self.assertIsInstance(a, A) PatchedA2 = deal.inv(lambda obj: obj.x > 0)(PatchedA) # noQA a = PatchedA2() with self.subTest(text='isinstance'): self.assertIsInstance(a, PatchedA) self.assertIsInstance(a, PatchedA2) self.assertIsInstance(a, A) with self.subTest(text='class name'): self.assertEqual(a.__class__.__name__.count('Invarianted'), 1)