コード例 #1
0
 def setup_method(self, method):
     self.microscope = pylo.MicroscopeInterface(DummyController())
     self.microscope.supported_measurement_variables.append(
         pylo.MeasurementVariable("test-var-1", "Test Variable 1", 0, 10,
                                  "ut"))
     self.microscope.supported_measurement_variables.append(
         pylo.MeasurementVariable("test-var-2",
                                  "Test Variable 2",
                                  max_value=100))
     self.microscope.supported_measurement_variables.append(
         pylo.MeasurementVariable("test-var-3",
                                  "Test Variable 3",
                                  min_value=1))
コード例 #2
0
    def test_random_values(self):
        """Test if randomly generated MeasurementVariables work."""
        id_, name = self.randomIdAndName()

        if random.random() >= 0.5:
            min_value = random.randint(0, 10)
        else:
            min_value = None

        if random.random() >= 0.5:
            max_value = random.randint(10, 20)
        else:
            max_value = None

        if random.random() >= 0.5:
            unit = "".join(
                random.choice(string.ascii_lowercase) for i in range(5))
        else:
            unit = None

        var = pylo.MeasurementVariable(id_, name, min_value, max_value, unit)

        assert (var.unique_id == id_ and var.name == name
                and var.min_value == min_value and var.max_value == max_value
                and var.unit == unit)
コード例 #3
0
    def test_one_optional2(self):
        """Test different construtor args."""
        var = pylo.MeasurementVariable("id", "name", unit="N/mm^2")

        assert (var.unique_id == "id" and var.name == "name"
                and var.min_value == None and var.max_value == None
                and var.unit == "N/mm^2")
コード例 #4
0
    def test_format(self, format):
        """Test if a format is always converted to a Datatype or a type."""
        id_, name = self.randomIdAndName()

        var = pylo.MeasurementVariable(id_, name, format=format)

        assert isinstance(var.format, (type, pylo.Datatype))
コード例 #5
0
    def test_invalid_calibration(self, calibration, uncalibration):
        """Test invalid calibrations."""
        id_, name = self.randomIdAndName()

        with pytest.raises((TypeError, ValueError)):
            pylo.MeasurementVariable(id_,
                                     name,
                                     calibration=calibration,
                                     uncalibration=uncalibration)
コード例 #6
0
    def reset(self):
        self.init_time = time.time()
        self.performed_steps = []

        self.supported_measurement_variables = [
            pylo.MeasurementVariable("measurement-var",
                                     "Dummy Measurement Variable", -1, 1,
                                     "unit")
        ]
コード例 #7
0
    def test_valid_calibration(self, calibration, uncalibration,
                               test_calibrated, test_uncalibrated):
        """Test if the calibration works for valid calibrations."""
        id_, name = self.randomIdAndName()

        if calibration is not None and uncalibration is not None:
            var = pylo.MeasurementVariable(id_,
                                           name,
                                           calibration=calibration,
                                           uncalibration=uncalibration)
        elif calibration is not None:
            var = pylo.MeasurementVariable(id_, name, calibration=calibration)
        elif uncalibration is not None:
            var = pylo.MeasurementVariable(id_,
                                           name,
                                           uncalibration=uncalibration)

        assert var.has_calibration

        assert var.convertToCalibrated(test_uncalibrated) == test_calibrated
        assert var.convertToUncalibrated(test_calibrated) == test_uncalibrated
コード例 #8
0
    def test_calibrated_min_max(self, min_value, max_value, calibration,
                                uncalibration, calibrated_min, calibrated_max,
                                expected_min, expected_max):
        """Test the calibrated_min and calibrated_max values."""
        id_, name = self.randomIdAndName()

        args = {"calibration": calibration, "uncalibration": uncalibration}

        if min_value is not None:
            args["min_value"] = min_value
        if max_value is not None:
            args["max_value"] = max_value

        if calibrated_min is not None:
            args["calibrated_min"] = calibrated_min
        if calibrated_max is not None:
            args["calibrated_max"] = calibrated_max

        var = pylo.MeasurementVariable(id_, name, **args)

        assert var.min_value == expected_min
        assert var.max_value == expected_max
コード例 #9
0
    def test_no_optionals(self):
        """Test different construtor args."""
        var = pylo.MeasurementVariable("id", "name")

        assert var.unique_id == "id" and var.name == "name"