Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)