Пример #1
0
    def test_lookup_transform_core_pass(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=0).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        lookup_transform = buffer_core.lookup_transform_core(
            target_frame='bar', source_frame='foo', time=rclpy.time.Time())

        self.assertEqual(transform, lookup_transform)
Пример #2
0
    def test_set_transform(self):
        buffer_core = BufferCore()
        transform = build_transform('bar', 'foo', rclpy.time.Time().to_msg())

        result = buffer_core.set_transform(transform, 'unittest')
        self.assertEqual(result, None)

        result, _ = buffer_core.can_transform_core(
            target_frame='bar',
            source_frame='foo',
            time=rclpy.time.Time(seconds=0.5))
        self.assertEqual(result, 0)
Пример #3
0
    def test_get_latest_common_time(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=0).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=1).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=0.5).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        latest_common_time = buffer_core.get_latest_common_time('bar', 'foo')

        self.assertEqual(latest_common_time, rclpy.time.Time(seconds=1))
Пример #4
0
    def test_all_frames_as_string(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo', rclpy.time.Time().to_msg())
        buffer_core.set_transform(transform, 'unittest')

        self.assertTrue(type(buffer_core.all_frames_as_string()) == str)
        self.assertTrue('foo' in buffer_core.all_frames_as_string())
        self.assertTrue('bar' in buffer_core.all_frames_as_string())
Пример #5
0
    def test_clear(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=0).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        result, _ = buffer_core.can_transform_core(target_frame='foo',
                                                   source_frame='bar',
                                                   time=rclpy.time.Time())
        self.assertTrue(result)

        buffer_core.clear()

        result, _ = buffer_core.can_transform_core(target_frame='foo',
                                                   source_frame='bar',
                                                   time=rclpy.time.Time())
        self.assertFalse(result)
Пример #6
0
    def test_lookup_transform_core_fail(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=0).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        with self.assertRaises(LookupException) as ex:
            buffer_core.lookup_transform_core(target_frame='bar',
                                              source_frame='baz',
                                              time=rclpy.time.Time())

        self.assertEqual(LookupException, type(ex.exception))
Пример #7
0
    def test_can_transform_full_core(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo', rclpy.time.Time().to_msg())
        buffer_core.set_transform(transform, 'unittest')

        transform = build_transform('foo', 'baz', rclpy.time.Time().to_msg())
        buffer_core.set_transform(transform, 'unittest')

        result, error_msg = buffer_core.can_transform_full_core(
            target_frame='foo',
            target_time=rclpy.time.Time(),
            source_frame='baz',
            source_time=rclpy.time.Time(),
            fixed_frame='bar')

        self.assertEqual(result, 1)
        self.assertEqual(error_msg, '')
Пример #8
0
    def test_can_transform_core_pass(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo', rclpy.time.Time().to_msg())

        buffer_core.set_transform(transform, 'unittest')

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=1).to_msg())

        buffer_core.set_transform(transform, 'unittest')

        result, error_msg = buffer_core.can_transform_core(
            target_frame='foo',
            source_frame='bar',
            time=rclpy.time.Time(seconds=0.5))
        self.assertEqual(result, 1)
        self.assertEqual(error_msg, '')
Пример #9
0
    def test_can_transform_core_fail(self):
        buffer_core = BufferCore()

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=1).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        transform = build_transform('bar', 'foo',
                                    rclpy.time.Time(seconds=2).to_msg())
        buffer_core.set_transform(transform, 'unittest')

        result, error_msg = buffer_core.can_transform_core(
            target_frame='foo',
            source_frame='bar',
            time=rclpy.time.Time(seconds=2.5))
        self.assertEqual(result, 0)
        self.assertIn('extrapolation into the future', error_msg)

        result, error_msg = buffer_core.can_transform_core(
            target_frame='foo',
            source_frame='bar',
            time=rclpy.time.Time(seconds=0.5))
        self.assertEqual(result, 0)
        self.assertIn('extrapolation into the past', error_msg)