Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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')
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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"))