コード例 #1
0
class TestSineWaveSensor(DatabaseTest):
    def setup(self):
        self.period = 0.1
        self.max = 8
        self.min = -2
        self.sensor = SineWaveSensor(sensor_name="sine", period = self.period,
                                     max_value=self.max, min_value=self.min)
        super().setup()

    def test_read_sensor(self):
        start_val = self.sensor.read()[0]
        ok_(isinstance(start_val, Sensor.value_type),
            "Type of values should be SensorDataValues, got {}".format(
            type(start_val)))

        # check the period works properly
        sleep(self.period * 0.95)
        end_val = self.sensor.read()[0]
        ok_(abs(end_val.value - start_val.value) < 1,
            "Sine Wave sensor should have appropriate periodicity. Got values "
            "start: {}, end: {}".format(start_val.value, end_val.value))

        # make sure the value is actually changing
        sleep(self.period * 0.3)
        val = self.sensor.read()[0]
        ok_(val.value < self.max and val.value > self.min,
            "Value {} should be between {} and {}".format(val.value, self.min,
                                                          self.max))
        ok_(abs(val.value - end_val.value) > 1, "Value {} should have changed "
                "from {}".format(val.value, end_val.value))
コード例 #2
0
 def setup(self):
     self.period = 0.1
     self.max = 8
     self.min = -2
     self.sensor = SineWaveSensor(sensor_name="sine", period = self.period,
                                  max_value=self.max, min_value=self.min)
     super().setup()