예제 #1
0
    def test_long_stream(self):
        self.stream_handle = StringIO(CtdpfParserUnitTestCase.LONG_DATA)
        self.parser = CtdpfParser(
            self.config, self.position, self.stream_handle, self.pos_callback,
            self.pub_callback)  # last one is the link to the data source

        result = self.parser.get_records(44)
        self.assertEqual(result[-1], self.particle_z)
        self.assertEqual(self.parser._state[StateKey.POSITION], 1728)
        self.assertEqual(self.position_callback_value[StateKey.POSITION], 1728)
        self.assertEqual(self.position_callback_value[StateKey.TIMESTAMP],
                         self.base_timestamp + 43)
        self.assertEqual(self.publish_callback_value[-1], self.particle_z)
예제 #2
0
    def test_get_many(self):
        self.stream_handle = StringIO(CtdpfParserUnitTestCase.TEST_DATA)
        self.parser = CtdpfParser(
            self.config, self.position, self.stream_handle, self.pos_callback,
            self.pub_callback)  # last one is the link to the data source

        result = self.parser.get_records(2)
        self.assertEqual(result, [self.particle_a, self.particle_b])
        self.assertEqual(self.parser._state[StateKey.POSITION], 174)
        self.assertEqual(self.position_callback_value[StateKey.POSITION], 174)
        self.assertEqual(self.position_callback_value[StateKey.TIMESTAMP],
                         self.base_timestamp + 1)
        self.assertEqual(self.publish_callback_value[0], self.particle_a)
        self.assertEqual(self.publish_callback_value[1], self.particle_b)
예제 #3
0
    def test_set_state(self):
        new_state = {
            StateKey.POSITION: 174,
            StateKey.TIMESTAMP: self.base_timestamp + 1
        }
        self.stream_handle = StringIO(CtdpfParserUnitTestCase.TEST_DATA)
        self.parser = CtdpfParser(
            self.config, self.position, self.stream_handle, self.pos_callback,
            self.pub_callback)  # last one is the link to the data source
        result = self.parser.get_records(1)
        self.assert_result(result, 137, self.base_timestamp, self.particle_a)

        self.parser.set_state(new_state)
        result = self.parser.get_records(1)
        self.assert_result(result, 212, self.base_timestamp + 2,
                           self.particle_c)
        result = self.parser.get_records(1)
        self.assert_result(result, 249, self.base_timestamp + 3,
                           self.particle_d)