Ejemplo n.º 1
0
    def setup(self):
        self.root = RootTask(should_stop=Event(), should_pause=Event())
        self.task = LockInMeasureTask(name="Test")
        self.root.add_child_task(0, self.task)

        self.root.run_time[DRIVERS] = {"Test": (InstrHelper, InstrHelperStarter())}
        self.root.run_time[PROFILES] = {
            "Test1": {"connections": {"C": {"owner": []}}, "settings": {"S": {"check_connection": [True]}}}
        }

        # This is set simply to make sure the test of InstrTask pass.
        self.task.selected_instrument = ("Test1", "Test", "C", "S")
Ejemplo n.º 2
0
class TestLockInMeasureTask(object):
    def setup(self):
        self.root = RootTask(should_stop=Event(), should_pause=Event())
        self.task = LockInMeasureTask(name="Test")
        self.root.add_child_task(0, self.task)

        self.root.run_time[DRIVERS] = {"Test": (InstrHelper, InstrHelperStarter())}
        self.root.run_time[PROFILES] = {
            "Test1": {"connections": {"C": {"owner": []}}, "settings": {"S": {"check_connection": [True]}}}
        }

        # This is set simply to make sure the test of InstrTask pass.
        self.task.selected_instrument = ("Test1", "Test", "C", "S")

    def test_mode_observation(self):
        """Check database is correctly updated when the mode change.

        """
        self.task.mode = "X"

        assert self.task.get_from_database("Test_x") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_y" not in aux
        assert "Test_amplitude" not in aux
        assert "Test_phase" not in aux

        self.task.mode = "Y"

        assert self.task.get_from_database("Test_y") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_x" not in aux
        assert "Test_amplitude" not in aux
        assert "Test_phase" not in aux

        self.task.mode = "X&Y"

        assert self.task.get_from_database("Test_x") == 1.0
        assert self.task.get_from_database("Test_y") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_amplitude" not in aux
        assert "Test_phase" not in aux

        self.task.mode = "Amp"

        assert self.task.get_from_database("Test_amplitude") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_x" not in aux
        assert "Test_y" not in aux
        assert "Test_phase" not in aux

        self.task.mode = "Phase"

        assert self.task.get_from_database("Test_phase") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_x" not in aux
        assert "Test_y" not in aux
        assert "Test_amplitude" not in aux

        self.task.mode = "Amp&Phase"

        assert self.task.get_from_database("Test_amplitude") == 1.0
        assert self.task.get_from_database("Test_phase") == 1.0
        aux = self.task.list_accessible_database_entries()
        assert "Test_x" not in aux
        assert "Test_y" not in aux

    def test_perform1(self):
        self.task.mode = "X"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_x"] = [2.0]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_x") == 2.0

    def test_perform2(self):
        self.task.mode = "Y"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_y"] = [2.0]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_y") == 2.0

    def test_perform3(self):
        self.task.mode = "X&Y"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_xy"] = [(2.0, 3.0)]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_x") == 2.0
        assert self.root.get_from_database("Test_y") == 3.0

    def test_perform4(self):
        self.task.mode = "Amp"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_amplitude"] = [2.0]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_amplitude") == 2.0

    def test_perform5(self):
        self.task.mode = "Phase"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_phase"] = [2.0]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_phase") == 2.0

    def test_perform6(self):
        self.task.mode = "Amp&Phase"

        p = self.root.run_time[PROFILES]["Test1"]
        p["settings"]["S"]["read_amp_and_phase"] = [(2.0, 3.0)]
        self.root.prepare()

        self.task.perform()
        assert self.root.get_from_database("Test_amplitude") == 2.0
        assert self.root.get_from_database("Test_phase") == 3.0