Source code for tests.calculation.test_aperture

import unittest
import numpy as np
from calculation import Aperture

[docs] class TestApertureEdgeCases(unittest.TestCase): """ tests aperture-class with different edge/false and usual input for different radius, amount and end correction types (open/flange). """
[docs] @classmethod def setUpClass(cls): cls.length_min = Aperture.class_traits()['length'].handler._low cls.length_max = Aperture.class_traits()['length'].handler._high cls.radius_min = Aperture.class_traits()['radius'].handler._low cls.radius_max = Aperture.class_traits()['radius'].handler._high cls.amount_min = Aperture.class_traits()['amount'].handler._low cls.amount_max = Aperture.class_traits()['amount'].handler._high cls.length_mid = (cls.length_min + cls.length_max) / 2 cls.radius_mid = (cls.radius_min + cls.radius_max) / 2 cls.amount_mid = round((cls.amount_min + cls.amount_max) / 2)
# ----------------------------------- # radius = min, amount = min # -----------------------------------
[docs] def test_radius_min_amount_min(self): a = Aperture( form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_min, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_min, places=5)
# ----------------------------------- # radius = max, amount = max # -----------------------------------
[docs] def test_radius_max_amount_max(self): a = Aperture( form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_max, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_max, places=5)
# ----------------------------------- # radius = min, amount = mid # -----------------------------------
[docs] def test_radius_min_amount_mid(self): a = Aperture( form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_mid, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_min, places=5)
# ----------------------------------- # radius = max, amount = mid # -----------------------------------
[docs] def test_radius_max_amount_mid(self): a = Aperture( form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_mid, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_max, places=5)
# ----------------------------------- # radius = mid, amount = min # -----------------------------------
[docs] def test_radius_mid_amount_min(self): a = Aperture( form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_min, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_mid, places=5)
# ----------------------------------- # radius = mid, amount = max # -----------------------------------
[docs] def test_radius_mid_amount_max(self): a = Aperture( form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_max, inner_ending='open', outer_ending='open' ) self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_mid, places=5)
#same tests with both openings flange # ----------------------------------- # radius = min, amount = min # -----------------------------------
[docs] def test_radius_min_amount_min_flange(self): a = Aperture( form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_min, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_min, places=5)
# ----------------------------------- # radius = max, amount = max # -----------------------------------
[docs] def test_radius_max_amount_max_flange(self): a = Aperture( form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_max, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_max, places=5)
# ----------------------------------- # radius = min, amount = mid # -----------------------------------
[docs] def test_radius_min_amount_mid_flange(self): a = Aperture( form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_mid, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_min, places=5)
# ----------------------------------- # radius = max, amount = mid # -----------------------------------
[docs] def test_radius_max_amount_mid_flange(self): a = Aperture( form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_mid, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_max, places=5)
# ----------------------------------- # radius = mid, amount = min # -----------------------------------
[docs] def test_radius_mid_amount_min_flange(self): a = Aperture( form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_min, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_mid, places=5)
# ----------------------------------- # radius = mid, amount = max # -----------------------------------
[docs] def test_radius_mid_amount_max_flange(self): a = Aperture( form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_max, inner_ending='flange', outer_ending='flange' ) self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_mid, places=5)
# --------------------------- # BLOCK 1: inner=flange, outer=open # ---------------------------
[docs] def test_radius_min_amount_min_flange_open(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_min, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_min, places=5)
[docs] def test_radius_max_amount_max_flange_open(self): a = Aperture(form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_max, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_max, places=5)
[docs] def test_radius_min_amount_mid_flange_open(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_mid, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_min, places=5)
[docs] def test_radius_max_amount_mid_flange_open(self): a = Aperture(form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_mid, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_max, places=5)
[docs] def test_radius_mid_amount_min_flange_open(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_min, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_mid, places=5)
[docs] def test_radius_mid_amount_max_flange_open(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_max, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_mid, places=5)
[docs] def test_radius_mid_amount_mid_flange_open(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_mid, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_mid, places=5)
[docs] def test_radius_min_amount_max_flange_open(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_max, inner_ending='flange', outer_ending='open') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.85 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.6 * self.radius_min, places=5)
# --------------------------- # BLOCK 2: inner=open, outer=flange # ---------------------------
[docs] def test_radius_min_amount_min_open_flange(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_min, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_min, places=5)
[docs] def test_radius_max_amount_max_open_flange(self): a = Aperture(form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_max, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_max, places=5)
[docs] def test_radius_min_amount_mid_open_flange(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_mid, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_min, places=5)
[docs] def test_radius_max_amount_mid_open_flange(self): a = Aperture(form="tube", radius=self.radius_max, length=self.length_mid, amount=self.amount_mid, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_max**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_max, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_max, places=5)
[docs] def test_radius_mid_amount_min_open_flange(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_min, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_min, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_mid, places=5)
[docs] def test_radius_mid_amount_max_open_flange(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_max, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_mid, places=5)
[docs] def test_radius_mid_amount_mid_open_flange(self): a = Aperture(form="tube", radius=self.radius_mid, length=self.length_mid, amount=self.amount_mid, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_mid**2 * self.amount_mid, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_mid, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_mid, places=5)
[docs] def test_radius_min_amount_max_open_flange(self): a = Aperture(form="tube", radius=self.radius_min, length=self.length_mid, amount=self.amount_max, inner_ending='open', outer_ending='flange') self.assertAlmostEqual(a.area, np.pi * self.radius_min**2 * self.amount_max, places=5) self.assertAlmostEqual(a.inner_end_correction, 0.6 * self.radius_min, places=5) self.assertAlmostEqual(a.outer_end_correction, 0.85 * self.radius_min, places=5)
if __name__ == '__main__': unittest.main()