Add test for main direction.

This commit is contained in:
Sergey Vartanov 2021-06-04 04:08:04 +03:00
parent 0747f279c8
commit 172b48af53

View file

@ -3,33 +3,41 @@ Test direction processing.
""" """
import numpy as np import numpy as np
from roentgen.direction import parse_vector from roentgen.direction import parse_vector, DirectionSet
__author__ = "Sergey Vartanov" __author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru" __email__ = "me@enzet.ru"
def test_compass_points_1() -> None: def test_compass_points_1() -> None:
""" Test north direction. """ """Test north direction."""
assert np.allclose(parse_vector("N"), np.array([0, -1])) assert np.allclose(parse_vector("N"), np.array([0, -1]))
def test_compass_points_2() -> None: def test_compass_points_2() -> None:
""" Test north-west direction. """ """Test north-west direction."""
root: np.float64 = -np.sqrt(2) / 2 root: np.float64 = -np.sqrt(2) / 2
assert np.allclose(parse_vector("NW"), np.array([root, root])) assert np.allclose(parse_vector("NW"), np.array([root, root]))
def test_compass_points_3() -> None: def test_compass_points_3() -> None:
""" Test south-south-west direction. """ """Test south-south-west direction."""
assert np.allclose(parse_vector("SSW"), np.array([-0.38268343, 0.92387953])) assert np.allclose(parse_vector("SSW"), np.array([-0.38268343, 0.92387953]))
def test_invalid() -> None: def test_invalid() -> None:
""" Test invalid direction representation string. """ """Test invalid direction representation string."""
assert not parse_vector("O") assert not parse_vector("O")
def test_degree() -> None: def test_degree() -> None:
""" Test east direction. """ """Test east direction."""
assert np.allclose(parse_vector("90"), np.array([1, 0])) assert np.allclose(parse_vector("90"), np.array([1, 0]))
def test_main_direction() -> None:
"""Test main direction computing."""
assert DirectionSet("0").is_right() is None
assert DirectionSet("70").is_right() is True
assert DirectionSet("270").is_right() is False
assert DirectionSet("180").is_right() is None