Source code for tests.calculation.test_resonator


import unittest
from calculation import Geometry
from calculation import Aperture
from calculation import Resonator

[docs] class TestResonator(unittest.TestCase): """ Unit tests for the Resonator class which works as a container for aperture and geometry. """
[docs] def setUp(self): """ Creates a sample Resonator instance using a cuboid geometry and tube aperture. """ self.geometry = Geometry(form='cuboid', x=0.5, y=0.5, z=0.5) self.aperture = Aperture(form='tube', radius=0.01, length=0.05) self.resonator = Resonator(geometry=self.geometry, aperture=self.aperture)
[docs] def test_initialization(self): """ Tests if Resonator initializes correctly with given Geometry and Aperture instances. """ self.assertIsInstance(self.resonator.geometry, Geometry) self.assertIsInstance(self.resonator.aperture, Aperture)
[docs] def test_to_dict_structure_and_values(self): """ Tests whether `to_dict()` returns a dictionary with the correct structure and expected values for form and radius of apperture. """ result = self.resonator.to_dict() self.assertIn('geometry', result) self.assertIn('aperture', result) self.assertEqual(result['aperture']['form'], 'tube') self.assertAlmostEqual(result['aperture']['radius'], 0.01)
[docs] def test_from_dict_reconstruction(self): """ Tests whether a Resonator can be correctly restructured from its representation in the dictionary. """ reconstructed = Resonator.from_dict(self.resonator.to_dict()) self.assertAlmostEqual(reconstructed.aperture.radius, self.aperture.radius) self.assertAlmostEqual(reconstructed.geometry.volume, self.geometry.volume)
if __name__ == '__main__': unittest.main()