def test_reactToEventTriggeredByStateChange(self): db = MockDB() house = House(db) house.reactToEvent = MethCallLogger(house.reactToEvent) house.listenerManager.addListener(house.reactToEvent) item = Openable(1, "item1", "mock", "door", "192.168.0.101", house.listenerManager) room = MockRoom(1, "lounge") room.items = {1: item} house.rooms = {1: room} item.close() # Sleep for 3 seconds to give the thread a chance to call checkForStateChange() time.sleep(3) self.assertTrue(house.reactToEvent.was_called)