Example #1
0
    def _msg(self, time, value):
        msg = paramsvalues_pb2.ParamValue()
        msg.param_no = 1
        msg.time = time
        msg.int_value = value

        return msg
Example #2
0
    def test_processing_batch(self):
        temp_dir = tempfile.mkdtemp(suffix="meaner4_unit_test")
        path = os.path.join(temp_dir, "A/B/float/0000123457.sz4")
        spf = saveparam.SaveParam(param.from_node(self.float_node), temp_dir)

        msgs = []
        for t, v in [(123456, spf.param.nan), (123457, 4.5),
                     (123458, spf.param.nan), (123459, spf.param.nan),
                     (123460, 5.0), (123461, 5.0)]:
            msg = paramsvalues_pb2.ParamValue()
            msg.param_no = 1
            msg.time = t
            msg.is_nan = False
            msg.double_value = v
            msgs.append(msg)

        s_time = spf.process_msg_batch(msgs)
        self.assertEqual(s_time, 123461)

        self._check_size(path, 15)
        self._check_file(path, "<fBBBBBBfB", (
            4.5,
            1,
            0x00,
            0x00,
            0xc0,
            0x7f,
            2,
            5.0,
            1,
        ))

        shutil.rmtree(temp_dir)
Example #3
0
    def test_crosscast_types(self):
        from random import randint
        int_value = randint(1, 2000)
        float_value = randint(1, 2000) / 10.0  # prec 1
        for i, n in enumerate(self.nodes):
            p = param.from_node(n)

            self.assertEqual(p.data_type, self.types[i])
            self.assertEqual(p.value_format_string, self.formats[i])
            self.assertEqual(p.value_lenght, self.val_lens[i])
            self.assertEqual(p.time_prec, 4)
            self.assertEqual(p.written_to_base, True)
            self.assertTrue(
                p.value_from_binary(p.value_to_binary(int_value)) -
                self.val_cast[i](int_value) <= int_value * self.epsilons[i])
            self.assertTrue(
                p.value_from_binary(p.value_to_binary(float_value)) -
                self.val_cast[i](float_value) <= int_value * self.epsilons[i])

            msg = paramsvalues_pb2.ParamValue()
            msg.param_no = 100
            msg.is_nan = False
            msg.time = 123456
            setattr(msg, self.msg_attrs[i], self.values[i])

            self.assertEqual(p.value_from_msg(msg), self.values[i])
Example #4
0
	def test_parsing_def(self):
		p = param.from_node(self.node_def)

		self.assertEqual(p.data_type, "short")
		self.assertEqual(p.value_format_string, "<h")
		self.assertEqual(p.value_lenght, 2)
		self.assertEqual(p.time_prec, 4)
		self.assertEqual(p.written_to_base, True)
		self.assertEqual(p.value_from_binary(p.value_to_binary(10)), 10)

		msg = paramsvalues_pb2.ParamValue()
		msg.param_no = 100;
		msg.time = 123456;
		msg.int_value = 10;

		self.assertEqual(p.value_from_msg(msg), 10)
Example #5
0
	def test_parsing2(self):
		for i, n in enumerate(self.nodes):
			p = param.from_node(n)

			self.assertEqual(p.data_type, self.types[i])
			self.assertEqual(p.value_format_string, self.formats[i])
			self.assertEqual(p.value_lenght, self.val_lens[i])
			self.assertEqual(p.time_prec, 4)
			self.assertEqual(p.written_to_base, True)
			self.assertEqual(p.value_from_binary(p.value_to_binary(self.values[i])), self.values[i])

			msg = paramsvalues_pb2.ParamValue()
			msg.param_no = 100;
			msg.time = 123456;
			setattr(msg, self.msg_attrs[i], self.values[i])

			self.assertEqual(p.value_from_msg(msg), self.values[i])
Example #6
0
 def _msg(is_nan):
     msg = paramsvalues_pb2.ParamValue()
     msg.param_no = 100
     msg.time = 123456
     msg.is_nan = is_nan
     return msg