class TestEquipment(DatabaseTest): """Tests basic shared equipment functionality. """ def update_fxn(self, state, *args, **kwargs): """Mocked basic implementation of update function """ return Equipment.value_type(state, "value") def setup(self): self.equip = Equipment("equipment") self.equip.type_ = 0 self.equip.update_state = MagicMock(side_effect=self.update_fxn) self.async_wait_time = 0.1 super().setup() def test_set_calls_update_fxn(self): val = 0.7 self.equip.set(val) sleep(self.async_wait_time) self.equip.update_state.assert_called_once_with(val) def test_set_adds_objects_to_db(self): val = 0.5 eq_(len(self.equip.data), 0) self.equip.set(val) sleep(self.async_wait_time) records = self.session.query(Equipment). \ filter(Equipment.id == self.equip.id).first().data eq_(len(records), 1) eq_(records[0].values[0].value, val) def test_set_updates_current_value(self): val = 0.5 self.equip.set(val) sleep(self.async_wait_time) curr_val = self.equip.current_state eq_(curr_val, val) def test_last_update(self): start = datetime.now() self.equip.set(0.5) sleep(self.async_wait_time) ok_(self.equip.last_update > start)
def setup(self): self.equip = Equipment("equipment") self.equip.type_ = 0 self.equip.update_state = MagicMock(side_effect=self.update_fxn) self.async_wait_time = 0.1 super().setup()
def update_fxn(self, state, *args, **kwargs): """Mocked basic implementation of update function """ return Equipment.value_type(state, "value")