Source code for Tests.Functions.test_coordinate_transformation

# -*- coding: utf-8 -*-
"""
Package: 
File Created: Thursday, 5th March 2020 11:32:19 am
Last Modified: Thursday, 5th March 2020 11:33:16 am
Author: Sebastian Guenther
"""


from numpy import pi, array
from numpy.testing import assert_array_almost_equal

from pyleecan.Functions.Electrical.coordinate_transformation import (
    ab2n,
    n2ab,
    dq2ab,
    ab2dq,
)

import pytest

"""unittest for coordinate transformation functions"""


[docs]def test_coordinate_transformation_Ok(): """Check that the coordinate transformations can return a correct output""" X_uvw = array([[1, -0.5, -0.5], [-1, 0.5, 0.5]]) X_ab = array([[1, 0], [0, 1]]) X_ab_wrong = array([1, 0]) th_90 = pi / 2 th_180 = pi X_dq90 = array([[0, -1], [1, 0]]) X_dq90_wrong = array([[0, -1]]) X_dq180 = array([[-1, 0], [0, -1]]) assert_array_almost_equal(ab2n(n2ab(X_uvw)), X_uvw) assert_array_almost_equal(dq2ab(ab2dq(X_ab, 0), 0), X_ab) assert_array_almost_equal(dq2ab(ab2dq(X_ab, th_90), th_90), X_ab) assert_array_almost_equal(ab2dq(X_ab, th_90), X_dq90) assert_array_almost_equal(ab2dq(X_ab, th_180), X_dq180) assert_array_almost_equal(ab2dq(X_ab_wrong, th_90), X_dq90_wrong)