Beispiel #1
0
 def test_light_already_on(self):
     """
     Test when chamber light is already on
     """
     bl = self.light
     bl.power.value[0] = 10
     # bright image - light is already on
     ccd = mock.FakeCCD(self.img_ccd_lon)
     f = turnOnLight(bl, ccd)
     time.sleep(1)
     self.assertTrue(f.done())
     f.result()
Beispiel #2
0
 def test_light_already_on(self):
     """
     Test when chamber light is already on
     """
     bl = self.light
     bl.emissions.value[0] = 1
     bl.power.value = 10
     # bright image - light is already on
     ccd = mock.FakeCCD(self.img_ccd_lon)
     f = turnOnLight(bl, ccd)
     time.sleep(1)
     self.assertTrue(f.done())
     f.result()
Beispiel #3
0
    def test_slit_cancel(self):
        """
        Test cancelling does cancel (relatively quickly)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        cancelled = f.cancel()

        self.assertTrue(cancelled)
        self.assertTrue(f.cancelled())
        with self.assertRaises(CancelledError):
            f.result(5)
Beispiel #4
0
    def test_slit_cancel(self):
        """
        Test cancelling does cancel (relatively quickly)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        cancelled = f.cancel()

        self.assertTrue(cancelled)
        self.assertTrue(f.cancelled())
        with self.assertRaises(CancelledError):
            f.result(5)
Beispiel #5
0
    def test_slit_off_on_ccd(self):
        """
        Test from dark slit image to bright slit image (gray)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        # simulate light turning on
        ccd.fake_img = self.img_ccd_lon
        time.sleep(1)
        self.assertTrue(f.done())
        self.assertFalse(f.cancelled())
        f.result()
Beispiel #6
0
    def test_slit_off_on_spccd(self):
        """
        Test from dark slit image to bright slit image (gray)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_spccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)  # > exposureTime (=0.1 s)
        self.assertFalse(f.done())

        logging.debug("changing image")
        # simulate light turning on
        ccd.fake_img = self.img_spccd_lon
        time.sleep(1)
        self.assertTrue(f.done())
        f.result()
Beispiel #7
0
    def test_slit_off_on_ccd(self):
        """
        Test from dark slit image to bright slit image (gray)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        # simulate light turning on
        ccd.fake_img = self.img_ccd_lon
        time.sleep(1)
        self.assertTrue(f.done())
        self.assertFalse(f.cancelled())
        f.result()
Beispiel #8
0
    def test_slit_off_on_spccd(self):
        """
        Test from dark slit image to bright slit image (gray)
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_spccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)  # > exposureTime (=0.1 s)
        self.assertFalse(f.done())

        logging.debug("changing image")
        # simulate light turning on
        ccd.fake_img = self.img_spccd_lon
        time.sleep(1)
        self.assertTrue(f.done())
        f.result()
Beispiel #9
0
    def test_slit_timeout(self):
        """
        Test Timeout
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        # no change in the image
        time.sleep(1)
        self.assertFalse(f.done())
        with self.assertRaises(futures.TimeoutError):
            f.result(timeout=5)
        self.assertFalse(f.done())
        self.assertFalse(f.cancelled())

        f.cancel()
        self.assertTrue(f.done())
        self.assertTrue(f.cancelled())
Beispiel #10
0
    def test_slit_timeout(self):
        """
        Test Timeout
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        # no change in the image
        time.sleep(1)
        self.assertFalse(f.done())
        with self.assertRaises(futures.TimeoutError):
            f.result(timeout=5)
        self.assertFalse(f.done())
        self.assertFalse(f.cancelled())

        f.cancel()
        self.assertTrue(f.done())
        self.assertTrue(f.cancelled())
Beispiel #11
0
    def test_1pix_off_on(self):
        """
        Test from dark image to bright image of 1 pixel
        """
        bl = self.light
        img_dark = numpy.ones((1, 1), dtype=numpy.uint16)  # type: ndarray
        da_dark = model.DataArray(img_dark)
        ccd = mock.FakeCCD(da_dark)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        # simulate light turning on
        img_bright = numpy.array([10], dtype=numpy.uint16)
        br_bright = model.DataArray(img_bright)
        ccd.fake_img = br_bright
        time.sleep(1)
        self.assertTrue(f.done())
        f.result()
Beispiel #12
0
    def test_1pix_off_on(self):
        """
        Test from dark image to bright image of 1 pixel
        """
        bl = self.light
        img_dark = numpy.ones((1, 1), dtype=numpy.uint16)  # type: ndarray
        da_dark = model.DataArray(img_dark)
        ccd = mock.FakeCCD(da_dark)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        # simulate light turning on
        img_bright = numpy.array([10], dtype=numpy.uint16)
        br_bright = model.DataArray(img_bright)
        ccd.fake_img = br_bright
        time.sleep(1)
        self.assertTrue(f.done())
        f.result()
Beispiel #13
0
    def test_no_detection_of_change(self):
        """
        Test when we get a new dark image with a bright spot but no change is detected
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        spoted_img = self.img_ccd_loff
        spoted_img[42:47, 93] = 65000
        with self.assertRaises(futures.TimeoutError):
            f.result(timeout=5)
        self.assertFalse(f.done())
        self.assertFalse(f.cancelled())

        f.cancel()
        self.assertTrue(f.done())
        self.assertTrue(f.cancelled())
Beispiel #14
0
    def test_no_detection_of_change(self):
        """
        Test when we get a new dark image with a bright spot but no change is detected
        """
        bl = self.light
        ccd = mock.FakeCCD(self.img_ccd_loff)
        f = turnOnLight(bl, ccd)
        time.sleep(1)
        self.assertFalse(f.done())

        spoted_img = self.img_ccd_loff
        spoted_img[42:47, 93] = 65000
        with self.assertRaises(futures.TimeoutError):
            f.result(timeout=5)
        self.assertFalse(f.done())
        self.assertFalse(f.cancelled())

        f.cancel()
        self.assertTrue(f.done())
        self.assertTrue(f.cancelled())