def test_set_sensor_sampling(self): self.server.stop() self.server.join() DUT = resource_client.KATCPClientResource(self.default_resource_spec) DUT.start() yield tornado.gen.moment test_strategy = ('period', '2.5') yield DUT.set_sensor_strategy('an_int', test_strategy) # Double-check that the sensor does not yet exist self.assertNotIn('an_int', DUT.sensor) self.server.start() self.server.wait_running(timeout=1) advancer = TimewarpAsyncTestCaseTimeAdvancer(self, quantum=0.55) advancer.start() yield DUT.until_synced() self.assertEqual(DUT.sensor.an_int.sampling_strategy, test_strategy) # Now call set_sensor_strategy with a different strategy and check that it is # applied to the real sensor new_test_strategy = ('event',) yield DUT.set_sensor_strategy('an_int', new_test_strategy) self.assertEqual(DUT.sensor.an_int.sampling_strategy, new_test_strategy)
def test_set_sensor_listener(self): self.server.stop() self.server.join() resource_spec = self.default_resource_spec DUT = resource_client.KATCPClientResource(resource_spec) DUT.start() yield tornado.gen.moment test_listener1 = lambda *x : None test_listener2 = lambda *y : None DUT.set_sensor_listener('an_int', test_listener1) # Double-check that the sensor does not yet exist self.assertNotIn('an_int', DUT.sensor) self.server.start() self.server.wait_running(timeout=1) advancer = TimewarpAsyncTestCaseTimeAdvancer(self, quantum=0.55) advancer.start() yield DUT.until_synced() self.assertTrue(DUT.sensor.an_int.is_listener, test_listener1) # Now call set_sensor_lister with a different listener and check that it is # also subscribed DUT.set_sensor_listener('an_int', test_listener2) self.assertTrue(DUT.sensor.an_int.is_listener, test_listener2)