Esempio n. 1
0
 def test_arr_float_value_to_load(self):
     """Test value to load method."""
     value = [1.0, 2.0, 3.0, 4.0]
     expected_load = []
     for v in value:
         expected_load.extend(list(map(chr, struct.pack('<f', v))))
     var = Variable(1, False, Types.T_FLOAT, 4)
     self.assertEqual(var.value_to_load(value), expected_load)
Esempio n. 2
0
 def test_arr_float_load_to_value(self):
     """Test load to value conversion method."""
     load = [
         '\x00', '\x00', '\x80', '?', '\x00', '\x00', '\x80', '?', '\x00',
         '\x00', '\x80', '?', '\x00', '\x00', '\x00', '\x00'
     ]
     expected_value = [1.0, 1.0, 1.0, 0.0]
     var = Variable(1, False, Types.T_FLOAT, 4)
     self.assertEqual(var.load_to_value(load), expected_value)
Esempio n. 3
0
 def setUp(self):
     """Set commons for all tests."""
     self.serial = Mock()
     self.entities = Mock()
     self.entities.variables = [
         Variable(0, False, Types.T_UINT16, 1),
         Variable(1, False, Types.T_FLOAT, 1),
         Variable(2, False, Types.T_FLOAT, 2),
         Variable(3, False, Types.T_CHAR, 64)
     ]
     self.entities.groups = [
         VariablesGroup(0, False, self.entities.variables),
     ]
     self.bsmp = BSMP(self.serial, 1, self.entities)
Esempio n. 4
0
    def test_string_load_to_value(self):
        """Test load to value conversion method."""
        load = [
            'V', '0', '.', '0', '7', ' ', '2', '0', '1', '8', '-', '0', '3',
            '-', '1', '4', 'V', '0', '.', '0', '7', ' ', '2', '0', '1', '8',
            '-', '0', '3', '-', '1', '4', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00'
        ]
        expected_value = [v.encode() for v in load]

        var = Variable(1, False, Types.T_CHAR, 128)
        self.assertEqual(var.load_to_value(load), expected_value)
Esempio n. 5
0
    def test_string_value_to_load(self):
        """Test value to load method."""
        value = 'V0.07 2018-03-14V0.07 2018-03-14'

        expected_load = [
            'V', '0', '.', '0', '7', ' ', '2', '0', '1', '8', '-', '0', '3',
            '-', '1', '4', 'V', '0', '.', '0', '7', ' ', '2', '0', '1', '8',
            '-', '0', '3', '-', '1', '4', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00',
            '\x00', '\x00', '\x00', '\x00'
        ]

        var = Variable(1, False, Types.T_CHAR, 128)
        self.assertEqual(var.value_to_load(value), expected_load)
Esempio n. 6
0
    def setUp(self):
        """Common setup for all test."""
        variables = [
            Variable(0, False, Types.T_UINT8, 1),
            Variable(1, False, Types.T_UINT16, 1),
            Variable(2, False, Types.T_UINT32, 1),
            Variable(3, False, Types.T_FLOAT, 1),
            Variable(4, False, Types.T_FLOAT, 4),
            Variable(5, False, Types.T_CHAR, 8),
        ]

        self.group = VariablesGroup(3, False, variables)
Esempio n. 7
0
 def test_float_load_to_value(self):
     """Test load to value conversion method."""
     load = [chr(v) for v in struct.pack('<f', 10.5)]
     expected_value = 10.5
     var = Variable(1, False, Types.T_FLOAT, 1)
     self.assertEqual(var.load_to_value(load), expected_value)
Esempio n. 8
0
 def test_int_load_to_value(self):
     """Test load to value conversion method."""
     expected_value = 257
     load = [chr(1) for _ in range(2)]
     var = Variable(1, False, Types.T_UINT16, 1)
     self.assertEqual(var.load_to_value(load), expected_value)
Esempio n. 9
0
 def test_float_value_to_load(self):
     """Test value to load method."""
     value = 10.5
     expected_load = [chr(b) for b in struct.pack('<f', value)]
     var = Variable(1, False, Types.T_FLOAT, 1)
     self.assertEqual(var.value_to_load(value), expected_load)
Esempio n. 10
0
 def test_int_value_to_load(self):
     """Test value to load method."""
     value = 10
     expected_load = [chr(b) for b in struct.pack('<b', 10)]
     var = Variable(1, False, Types.T_UINT8, 1)
     self.assertEqual(var.value_to_load(value), expected_load)