Пример #1
0
def test_GIVEN_empty_string_WHEN_validating_field_value_THEN_returns_intermediate_and_emits_signal_with_false(
):
    validator = FieldValueValidator(object, object)
    validator.is_valid = Mock()

    assert validator.validate("", 0) == QValidator.Intermediate
    validator.is_valid.emit.assert_called_once_with(False)
def test_GIVEN_invalid_float_value_WHEN_validating_field_value_THEN_returns_intermediate_and_emits_signal_with_false():
    invalid_value = "sdfn"

    field_type_combo = DummyCombo(FieldType.scalar_dataset.value)
    dataset_type_combo = DummyCombo("Float")

    validator = FieldValueValidator(
        field_type_combo, dataset_type_combo, FieldType.scalar_dataset.value
    )
    validator.is_valid = Mock()

    assert validator.validate(invalid_value, 0) == QValidator.Intermediate
    validator.is_valid.emit.assert_called_once_with(False)
def test_GIVEN_valid_string_value_WHEN_validating_field_value_THEN_returns_acceptable_and_emits_signal_with_true():
    strvalue = "123a"

    field_type_combo = DummyCombo(FieldType.scalar_dataset.value)
    dataset_type_combo = DummyCombo("String")

    validator = FieldValueValidator(
        field_type_combo, dataset_type_combo, FieldType.scalar_dataset.value
    )
    validator.is_valid = Mock()

    assert validator.validate(strvalue, 0) == QValidator.Acceptable
    validator.is_valid.emit.assert_called_once_with(True)
Пример #4
0
    def _set_up_value_validator(self, is_link: bool):
        self.value_line_edit.setValidator(None)
        if is_link:
            self.value_line_edit.setValidator(
                HDFLocationExistsValidator(self.instrument.nexus.nexus_file,
                                           self.field_type_combo))

            tooltip_on_accept = "Valid HDF path"
            tooltip_on_reject = "HDF Path is not valid"
        else:
            self.value_line_edit.setValidator(
                FieldValueValidator(
                    self.field_type_combo,
                    self.value_type_combo,
                    FieldType.scalar_dataset.value,
                ))
            tooltip_on_accept = "Value is cast-able to numpy type."
            tooltip_on_reject = "Value is not cast-able to selected numpy type."

        self.value_line_edit.validator().is_valid.connect(
            partial(
                validate_line_edit,
                self.value_line_edit,
                tooltip_on_accept=tooltip_on_accept,
                tooltip_on_reject=tooltip_on_reject,
            ))
        self.value_line_edit.validator().validate(self.value_line_edit.text(),
                                                  None)
Пример #5
0
 def dtype_changed(self, _: str):
     self.attr_value_lineedit.setValidator(
         FieldValueValidator(self.array_or_scalar_combo,
                             self.attr_dtype_combo))
     self.attr_value_lineedit.validator().is_valid.connect(
         partial(
             validate_line_edit,
             self.attr_value_lineedit,
             tooltip_on_accept="Value is cast-able to numpy type.",
             tooltip_on_reject=
             "Value is not cast-able to selected numpy type.",
         ))
     self.attr_value_lineedit.validator().validate(
         self.attr_value_lineedit.text(), 0)
Пример #6
0
    def _set_up_value_validator(self, is_link: bool):
        self.value_line_edit.setValidator(None)
        if is_link:
            return
        else:
            self.value_line_edit.setValidator(
                FieldValueValidator(
                    self.field_type_combo,
                    self.value_type_combo,
                    FieldType.scalar_dataset.value,
                ))
            tooltip_on_accept = "Value is cast-able to numpy type."
            tooltip_on_reject = "Value is not cast-able to selected numpy type."

        self.value_line_edit.validator().is_valid.connect(
            partial(
                validate_line_edit,
                self.value_line_edit,
                tooltip_on_accept=tooltip_on_accept,
                tooltip_on_reject=tooltip_on_reject,
            ))
        self.value_line_edit.validator().validate(self.value_line_edit.text(),
                                                  None)