예제 #1
0
    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)