class Star_general_tests(unittest.TestCase): """Performs general tests (not demo specific).""" def setUp(self): self.star = Starshot() self.star.load_demo_image() def test_analyze_without_images(self): star = Starshot() self.assertRaises(AttributeError, star.analyze)
class Test_Star_Demo(unittest.TestCase, Star_Test): """Specific tests for the demo image""" wobble_diameter_mm = 0.35 wobble_center = Point(1270, 1438) num_rad_lines = 4 def setUp(self): self.star = Starshot() self.star.load_demo_image() def test_passed(self): self.star.analyze() super().test_passed() def test_failed_with_tight_tol(self): self.star.tolerance.value = 0.1 self.star.analyze() self.assertFalse(self.star.passed) def test_wobble_center(self): self.star.analyze() super().test_wobble_center() def test_num_rad_lines(self): self.star.analyze() super().test_num_rad_lines() def test_wobble_diameter(self): self.star.analyze() super().test_wobble_diameter() def test_bad_inputs(self): self.star.analyze(radius=0.3, min_peak_height=0.1) self.test_wobble_center() self.test_wobble_diameter() def test_demo_runs(self): """Test that the demo runs without error.""" # TODO: come up with decorator that adds show parameter self.star.run_demo() def test_image_inverted(self): """Check that the demo image was actually inverted, as it needs to be.""" top_left_corner_val_before = self.star.image.array[0,0] self.star._check_image_inversion() top_left_corner_val_after = self.star.image.array[0,0] self.assertNotEqual(top_left_corner_val_before, top_left_corner_val_after) def test_SID_can_be_overridden_for_nonEPID(self): self.star.analyze(SID=400) self.assertNotEqual(self.star.wobble.diameter, self.wobble_diameter_mm*2)