def test_string_sensor(self): """Test string sensor.""" s = DeviceTestSensor( katcp.Sensor.STRING, "a.string", "A string sensor.", "filename", None, timestamp=12345, status=katcp.Sensor.NOMINAL, value="zwoop" ) self.assertEqual(s.read_formatted(), ("12345000", "nominal", "zwoop")) self.assertEquals(s.parse_value("bar foo"), "bar foo")
def test_timestamp_sensor(self): """Test timestamp sensor.""" s = DeviceTestSensor( katcp.Sensor.TIMESTAMP, "a.timestamp", "A timestamp sensor.", "ms", None, timestamp=12345, status=katcp.Sensor.NOMINAL, value=1001.9 ) self.assertEqual(s.read_formatted(), ("12345000", "nominal", "1001900")) self.assertAlmostEqual(s.parse_value("1002100"), 1002.1) self.assertRaises(ValueError, s.parse_value, "bicycle")
def test_discrete_sensor(self): """Test discrete sensor.""" s = DeviceTestSensor( katcp.Sensor.DISCRETE, "a.discrete", "A discrete sensor.", "state", ["on", "off"], timestamp=12345, status=katcp.Sensor.ERROR, value="on" ) self.assertEqual(s.read_formatted(), ("12345000", "error", "on")) self.assertEquals(s.parse_value("on"), "on") self.assertRaises(ValueError, s.parse_value, "fish")
def test_lru_sensor(self): """Test LRU sensor.""" s = DeviceTestSensor( katcp.Sensor.LRU, "an.lru", "An LRU sensor.", "state", None, timestamp=12345, status=katcp.Sensor.FAILURE, value=katcp.Sensor.LRU_ERROR ) self.assertEqual(s.read_formatted(), ("12345000", "failure", "error")) self.assertEquals(s.parse_value("nominal"), katcp.Sensor.LRU_NOMINAL) self.assertRaises(ValueError, s.parse_value, "fish")
def test_boolean_sensor(self): """Test boolean sensor.""" s = DeviceTestSensor( katcp.Sensor.BOOLEAN, "a.boolean", "A boolean.", "on/off", None, timestamp=12345, status=katcp.Sensor.UNKNOWN, value=True ) self.assertEqual(s.read_formatted(), ("12345000", "unknown", "1")) self.assertEquals(s.parse_value("1"), True) self.assertEquals(s.parse_value("0"), False) self.assertRaises(ValueError, s.parse_value, "asd")
def test_float_sensor(self): """Test float sensor.""" s = DeviceTestSensor( katcp.Sensor.FLOAT, "a.float", "A float.", "power", [0.0, 5.0], timestamp=12345, status=katcp.Sensor.WARN, value=3.0 ) self.assertEqual(s.read_formatted(), ("12345000", "warn", "3")) self.assertEquals(s.parse_value("3"), 3.0) self.assertRaises(ValueError, s.parse_value, "10") self.assertRaises(ValueError, s.parse_value, "-10") self.assertRaises(ValueError, s.parse_value, "asd") s = katcp.Sensor(katcp.Sensor.FLOAT, "a.float", "A float.", "", [-20.0, 20.0]) self.assertEquals(s.value(), 0.0) s = katcp.Sensor(katcp.Sensor.FLOAT, "a.float", "A float.", "", [2.0, 20.0]) self.assertEquals(s.value(), 2.0) s = katcp.Sensor(katcp.Sensor.FLOAT, "a.float", "A float.", "", [2.0, 20.0], default=5.0) self.assertEquals(s.value(), 5.0)
def test_int_sensor(self): """Test integer sensor.""" s = DeviceTestSensor( katcp.Sensor.INTEGER, "an.int", "An integer.", "count", [-4, 3], timestamp=12345, status=katcp.Sensor.NOMINAL, value=3 ) self.assertEqual(s.read_formatted(), ("12345000", "nominal", "3")) self.assertEquals(s.parse_value("3"), 3) self.assertRaises(ValueError, s.parse_value, "4") self.assertRaises(ValueError, s.parse_value, "-10") self.assertRaises(ValueError, s.parse_value, "asd") s = katcp.Sensor(katcp.Sensor.INTEGER, "an.int", "An integer.", "count", [-20, 20]) self.assertEquals(s.value(), 0) s = katcp.Sensor(katcp.Sensor.INTEGER, "an.int", "An integer.", "count", [2, 20]) self.assertEquals(s.value(), 2) s = katcp.Sensor(katcp.Sensor.INTEGER, "an.int", "An integer.", "count", [2, 20], default=5) self.assertEquals(s.value(), 5)