Source code for pyleecan.Tests.Methods.Geometry.test_SurfLine_meth

# -*- coding: utf-8 -*-
from unittest import TestCase
from mock import MagicMock
from ....Classes.Arc1 import Arc1
from ....Classes.Arc2 import Arc2
from ....Classes.Segment import Segment
from ....Classes.SurfLine import SurfLine
from numpy import pi


[docs]class test_SurfLine_meth(TestCase): """Unittest for SurfLine methods"""
[docs] def test_comp_length(self): """Check that you can compute the length of the Surface """ line1 = Arc1(begin=1, end=1j, radius=1) line1.comp_length = MagicMock(return_value=1) line2 = Arc2(begin=1, center=0, angle=pi / 2) line2.comp_length = MagicMock(return_value=1) line3 = Segment(begin=1j, end=0) line3.comp_length = MagicMock(return_value=1) surface = SurfLine(line_list=[line1, line2, line3], label="test", point_ref=0) length = surface.comp_length() line1.comp_length.assert_called_once() line2.comp_length.assert_called_once() line3.comp_length.assert_called_once() self.assertAlmostEqual(abs(length - 3), 0)
[docs] def test_rotate(self): """Check that you can rotate the surface """ line1 = Arc1(begin=1, end=1j, radius=1) line2 = Arc2(begin=1, center=0, angle=pi / 2) line3 = Segment(begin=1j, end=0) surface = SurfLine(line_list=[line1, line2, line3], label="test", point_ref=0) surface.rotate(pi / 2) self.assertAlmostEqual(abs(line1.begin - 1j), 0) self.assertAlmostEqual(abs(line1.end + 1), 0) self.assertAlmostEqual(abs(line2.begin - 1j), 0) self.assertAlmostEqual(line2.center, 0) self.assertAlmostEqual(abs(line3.begin + 1), 0) self.assertAlmostEqual(line3.end, 0)
[docs] def test_translate(self): """Check that you can rotate the surface """ line1 = Arc1(begin=1, end=1j, radius=1) line2 = Arc2(begin=1, center=0, angle=pi / 2) line3 = Segment(begin=1j, end=0) surface = SurfLine(line_list=[line1, line2, line3], label="test", point_ref=0) surface.translate(1j) self.assertAlmostEqual(abs(line1.begin - 1j), 1) self.assertAlmostEqual(line1.end, 2j) self.assertAlmostEqual(abs(line2.begin - 1j), 1) self.assertAlmostEqual(abs(line2.center - 1j), 0) self.assertAlmostEqual(abs(line3.begin - 2j), 0) self.assertAlmostEqual(line3.end, 1j)