35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
"""This module asserts correct runtime behaviour of the :mod:`pyrate.plan.geometry.helpers` functions
|
|
for translation.
|
|
|
|
Note that most of the correctness is asserted by the use in
|
|
:meth:`pyrate.plan.geometry.PolarPolygon.translate` and :meth:`pyrate.plan.geometry.PolarRoute.translate`.
|
|
Also, no extensive tests are needed since we trust the underlying library due to its widespread adoption and
|
|
maturity.
|
|
We only need to check that the conversion of parameters and results works as expcted.
|
|
"""
|
|
|
|
# Testing
|
|
from unittest import TestCase
|
|
|
|
# Scientific (testing)
|
|
from numpy import array
|
|
|
|
# Module under test
|
|
from pyrate.plan.geometry.helpers import translate_numpy
|
|
|
|
|
|
class TestTranslate(TestCase):
|
|
"""Tests the translation helpers."""
|
|
|
|
COORDINATES = array([[1.0, 2.0], [3.0, -4.0], [-5.0, 6.0]])
|
|
DIRECTIONS = array([0.0, 90.0, -90.0])
|
|
DISTANCES = array([1.0, 100.0, 10000.0])
|
|
|
|
def test_translate_numpy(self) -> None: # pylint: disable=no-self-use
|
|
"""Test that any combination of types of input are accepted."""
|
|
|
|
translate_numpy(TestTranslate.COORDINATES, TestTranslate.DIRECTIONS, TestTranslate.DISTANCES)
|
|
translate_numpy(TestTranslate.COORDINATES, 90, TestTranslate.DISTANCES)
|
|
translate_numpy(TestTranslate.COORDINATES, TestTranslate.DIRECTIONS, 100)
|
|
translate_numpy(TestTranslate.COORDINATES, 90, 100)
|