def test_1CallbacksAdded_RemoveTheAddedCallback(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) retval = fakeable.remove_created_callback(callback) self.assertIs(retval, True) MyCoolClass() callback.assert_invocation_count(0)
def test_1CallbacksAdded_RemoveNeverAddedCallback(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) retval = fakeable.remove_created_callback(object()) self.assertIs(retval, False) MyCoolClass() callback.assert_invoked_exactly_once()
def test_1CallbacksAdded2Times_RemoveTheAddedCallback1Time(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fakeable.add_created_callback(callback) retval = fakeable.remove_created_callback(callback) self.assertIs(retval, True) MyCoolClass() callback.assert_invoked_exactly_once()
def test_NoFakeRegistered_CustomFakeName(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) MyCoolClassCustomFakeName() invocation = callback.assert_invoked_exactly_once() self.assertEqual(invocation.name, "CustomName") self.assertIsInstance(invocation.obj, MyCoolClassCustomFakeName) self.assertIs(invocation.obj_type, MyCoolClassCustomFakeName)
def test_FakeClassRegisteredByClass(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fakeable.set_fake_class(MyCoolClass, MyUnfakeableClass) MyCoolClass() invocation = callback.assert_invoked_exactly_once() self.assertEqual(invocation.name, "MyCoolClass") self.assertIsInstance(invocation.obj, MyUnfakeableClass) self.assertIs(invocation.obj_type, MyCoolClass)
def test_2CallbacksRegistered_InvokedInCorrectOrder(self): callback1 = FakeCreatedCallbackTester(self) callback2 = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback1) fakeable.add_created_callback(callback2) MyCoolClass() invocation1 = callback1.assert_invoked_exactly_once() invocation2 = callback2.assert_invoked_exactly_once() self.assertLess(invocation1.index, invocation2.index)
def test_2CallbacksAdded_Remove2ndAddedCallback(self): callback1 = FakeCreatedCallbackTester(self) callback2 = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback1) fakeable.add_created_callback(callback2) retval = fakeable.remove_created_callback(callback2) self.assertIs(retval, True) MyCoolClass() callback1.assert_invoked_exactly_once() callback2.assert_invocation_count(0)
def test_FakeObjectRegisteredByClass(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fake_object = object() fakeable.set_fake_object(MyCoolClass, fake_object) MyCoolClass() invocation = callback.assert_invoked_exactly_once() self.assertEqual(invocation.name, "MyCoolClass") self.assertIs(invocation.obj, fake_object) self.assertIs(invocation.obj_type, MyCoolClass)
def test_2CallbacksAdded_RemoveBothAddedCallbacks(self): callback1 = FakeCreatedCallbackTester(self) callback2 = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback1) fakeable.add_created_callback(callback2) retval1 = fakeable.remove_created_callback(callback1) self.assertIs(retval1, True) retval2 = fakeable.remove_created_callback(callback2) self.assertIs(retval2, True) MyCoolClass() callback1.assert_invocation_count(0) callback2.assert_invocation_count(0)
def test_CallbackRegisteredTwice(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fakeable.add_created_callback(callback) MyCoolClass() invocations = callback.assert_invocation_count(2) self.assertEqual(invocations[0].name, "MyCoolClass") self.assertIsInstance(invocations[0].obj, MyCoolClass) self.assertIs(invocations[0].obj_type, MyCoolClass) self.assertEqual(invocations[1].name, "MyCoolClass") self.assertIsInstance(invocations[1].obj, MyCoolClass) self.assertIs(invocations[1].obj_type, MyCoolClass)
def test_FakeClassRegisteredByClass_2InstancesCreated(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fakeable.set_fake_class(MyCoolClass, MyUnfakeableClass) MyCoolClass() MyCoolClass() invocations = callback.assert_invocation_count(2) self.assertEqual(invocations[0].name, "MyCoolClass") self.assertIsInstance(invocations[0].obj, MyUnfakeableClass) self.assertIs(invocations[0].obj_type, MyCoolClass) self.assertEqual(invocations[1].name, "MyCoolClass") self.assertIsInstance(invocations[1].obj, MyUnfakeableClass) self.assertIs(invocations[1].obj_type, MyCoolClass)
def test_FakeObjectRegisteredByName_2InstancesCreated(self): callback = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback) fake_object = object() fakeable.set_fake_object("MyCoolClass", fake_object) MyCoolClass() MyCoolClass() invocations = callback.assert_invocation_count(2) self.assertEqual(invocations[0].name, "MyCoolClass") self.assertIs(invocations[0].obj, fake_object) self.assertIs(invocations[0].obj_type, MyCoolClass) self.assertEqual(invocations[1].name, "MyCoolClass") self.assertIs(invocations[1].obj, fake_object) self.assertIs(invocations[1].obj_type, MyCoolClass)
def test_2CallbacksRegistered(self): callback1 = FakeCreatedCallbackTester(self) callback2 = FakeCreatedCallbackTester(self) fakeable.add_created_callback(callback1) fakeable.add_created_callback(callback2) MyCoolClass() invocation1 = callback1.assert_invoked_exactly_once() self.assertEqual(invocation1.name, "MyCoolClass") self.assertIsInstance(invocation1.obj, MyCoolClass) self.assertIs(invocation1.obj_type, MyCoolClass) invocation2 = callback2.assert_invoked_exactly_once() self.assertIs(invocation2.name, invocation1.name) self.assertIs(invocation2.obj, invocation1.obj) self.assertIs(invocation2.obj_type, invocation1.obj_type)