def test_discrete_sensor_from_native_strings(self): """Test discrete sensor initialised from native strings.""" s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"]) self.assertEqual(s.stype, 'discrete') s.set(timestamp=12345, status=Sensor.ERROR, value="on") # test both read_formatted and format_reading self.assertEqual(s.format_reading(s.read()), (b"12345.000000", b"error", b"on")) self.assertEqual(s.read_formatted(), (b"12345.000000", b"error", b"on")) self.assertEqual(s.parse_value(b"on"), "on") self.assertRaises(ValueError, s.parse_value, b"fish") s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default='on') self.assertEqual(s._value, 'on') s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default='off') self.assertEqual(s._value, 'off') s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], initial_status=Sensor.UNREACHABLE) self.assertEqual(s.status(), Sensor.UNREACHABLE)
def test_discrete_sensor(self): """Test discrete sensor.""" s = Sensor.discrete( "a.discrete", "A discrete sensor.", "state", ["on", "off"]) self.assertEqual(s.stype, 'discrete') s.set(timestamp=12345, status=katcp.Sensor.ERROR, value="on") self.assertEqual(s.read_formatted(), ("12345.000000", "error", "on")) self.assertEquals(s.parse_value("on"), "on") self.assertRaises(ValueError, s.parse_value, "fish") s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default='on') self.assertEqual(s._value, 'on') s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default='off') self.assertEqual(s._value, 'off')
def test_discrete_sensor(self): """Test discrete sensor.""" s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"]) self.assertEqual(s.stype, "discrete") s.set(timestamp=12345, status=katcp.Sensor.ERROR, value="on") # test both read_formatted and format_reading self.assertEqual(s.format_reading(s.read()), ("12345.000000", "error", "on")) self.assertEqual(s.read_formatted(), ("12345.000000", "error", "on")) self.assertEquals(s.parse_value("on"), "on") self.assertRaises(ValueError, s.parse_value, "fish") s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default="on") self.assertEqual(s._value, "on") s = Sensor.discrete("a.discrete", "A discrete sensor.", "state", ["on", "off"], default="off") self.assertEqual(s._value, "off") s = Sensor.discrete( "a.discrete", "A discrete sensor.", "state", ["on", "off"], initial_status=Sensor.UNREACHABLE ) self.assertEquals(s.status(), Sensor.UNREACHABLE)
def test_discrete_sensor_from_byte_strings(self): """Test discrete sensor initialised from byte strings.""" s = Sensor.discrete(b"a.discrete", b"A discrete sensor.", b"state", [b"on", b"off"]) # sensor attributes must be native strings self.assertEqual(s.name, "a.discrete") self.assertEqual(s.units, "state") self.assertEqual(s.description, "A discrete sensor.") self.assertEqual(s.stype, "discrete") s.set(timestamp=12345, status=Sensor.ERROR, value="on") self.assertEqual(s.value(), "on") # after formatting, byte strings are required self.assertEqual(s.format_reading(s.read()), (b"12345.000000", b"error", b"on")) self.assertEqual(s.read_formatted(), (b"12345.000000", b"error", b"on"))