def test_default_integer_argument(self): integer = IntegerArgument() validation_status = integer.validate("45") self.assertTrue(validation_status) self.assertEqual(validation_status.value(), 45) self.assertEqual(validation_status.message(), "") validation_status = integer.validate("-45") self.assertTrue(validation_status) self.assertEqual(validation_status.value(), -45) validation_status = integer.validate("45 ") self.assertFalse(validation_status) self.assertNotEqual(validation_status.message(), "") self.assertIsNone(validation_status.value()) validation_status = integer.validate("gx") self.assertFalse(validation_status) self.assertNotEqual(validation_status.message(), "")
def test_integer_range_argument_from(self): from_value = 99 integer = IntegerArgument(from_value=from_value) validation_status = integer.validate("%d" % from_value) self.assertTrue(validation_status) value = 98 validation_status = integer.validate("%d" % value) self.assertFalse(validation_status) range_string = "%d <= %d" % (from_value, value) self.assertEqual(validation_status.message(), IntegerArgument.NOT_IN_RANGE % range_string)
def test_integer_range_argument_to(self): to_value = 99 integer = IntegerArgument(to_value=to_value) validation_status = integer.validate("%d" % to_value) self.assertTrue(validation_status) value = 100 validation_status = integer.validate("%d" % value) self.assertFalse(validation_status) range_string = "%d <= %d" % (value, to_value) self.assertEqual(validation_status.message(), IntegerArgument.NOT_IN_RANGE % range_string)
def addMaxRunningLocal(self): max_running_local = ConfigurationLineDefinition( keyword=KeywordDefinition("MAX_RUNNING_LOCAL"), arguments=[IntegerArgument(from_value=1)], documentation_link="keywords/max_running_local", group=self.group) return max_running_local
def addMaxArg(self): max_arg = ConfigurationLineDefinition(keyword=KeywordDefinition("MAX_ARG"), arguments=[IntegerArgument()], documentation_link="keywords/max_arg", required=False, group=self.group) return max_arg
def addMaxSubmit(self): max_submit = ConfigurationLineDefinition( keyword=KeywordDefinition("MAX_SUBMIT"), arguments=[IntegerArgument()], documentation_link="keywords/max_submit", group=self.group) return max_submit
def addUMask(self): umask = ConfigurationLineDefinition(keyword=KeywordDefinition("UMASK"), arguments=[IntegerArgument()], documentation_link="keywords/umask", required=False, group=self.group) return umask
def addMaxRuntime(self): max_runtime = ConfigurationLineDefinition(keyword=KeywordDefinition("MAX_RUNTIME"), arguments=[IntegerArgument(from_value=0)], documentation_link="keywords/max_runtime", required=False, group=self.group) return max_runtime
def addMaxRunningRsh(self): max_running_rsh = ConfigurationLineDefinition( keyword=KeywordDefinition("MAX_RUNNING_RSH"), arguments=[IntegerArgument()], documentation_link="keywords/max_running_rsh", group=self.group) return max_running_rsh
def addIterRetryCount(self): retry_count = ConfigurationLineDefinition( keyword=KeywordDefinition("ITER_RETRY_COUNT"), arguments=[IntegerArgument()], documentation_link="keywords/iter_retry_count", required=False, group=self.group) return retry_count
def addMinRealizations(self): min_realizations = ConfigurationLineDefinition(keyword=KeywordDefinition("MIN_REALIZATIONS"), arguments=[IntegerArgument(from_value = 0) , PercentArgument(from_value = 0 , to_value = 100)], documentation_link="keywords/min_realizations", required=False, group=self.group) return min_realizations
def addEnkfCvFolds(self): enkf_cv_folds = ConfigurationLineDefinition( keyword=KeywordDefinition("ENKF_CV_FOLDS"), arguments=[IntegerArgument()], documentation_link="keywords/enkf_cv_folds", required=False, group=self.group) return enkf_cv_folds
def addRerunStart(self): rerun_start = ConfigurationLineDefinition( keyword=KeywordDefinition("RERUN_START"), arguments=[IntegerArgument()], documentation_link="keywords/rerun_start", required=False, group=self.group) return rerun_start
def addEnkfNComp(self): enkf_ncomp = ConfigurationLineDefinition( keyword=KeywordDefinition("ENKF_NCOMP"), arguments=[IntegerArgument()], documentation_link="keywords/enkf_ncomp", required=False, group=self.group) return enkf_ncomp
def addMaxResample(self): max_resample = ConfigurationLineDefinition( keyword=KeywordDefinition("MAX_RESAMPLE"), arguments=[IntegerArgument()], documentation_link="keywords/max_resample", required=False, group=self.group) return max_resample
def addPlotErrorbarMax(self): plot_errorbar_max = ConfigurationLineDefinition( keyword=KeywordDefinition("PLOT_ERRORBAR_MAX"), arguments=[IntegerArgument()], documentation_link="keywords/plot_errorbar_max", required=False, group=self.group) return plot_errorbar_max
def addLogLevel(self): log_level = ConfigurationLineDefinition( keyword=KeywordDefinition("LOG_LEVEL"), arguments=[IntegerArgument()], documentation_link="keywords/log_level", required=False, group=self.group) return log_level
def addPlotWidth(self): plot_width = ConfigurationLineDefinition( keyword=KeywordDefinition("PLOT_WIDTH"), arguments=[IntegerArgument()], documentation_link="keywords/plot_width", required=False, group=self.group) return plot_width
def addNumRealizations(self): num_realizations = ConfigurationLineDefinition( keyword=KeywordDefinition("NUM_REALIZATIONS"), arguments=[IntegerArgument(from_value=1)], documentation_link="keywords/num_realizations", required=True, group=self.group) return num_realizations
def addReportTimeout(self): report_timeout = ConfigurationLineDefinition( keyword=KeywordDefinition("REPORT_TIMEOUT"), arguments=[IntegerArgument()], documentation_link="keywords/report_timeout", required=False, group=self.group) return report_timeout
def addPlotHeight(self): plot_height = ConfigurationLineDefinition( keyword=KeywordDefinition("PLOT_HEIGHT"), arguments=[IntegerArgument()], documentation_link="keywords/plot_height", required=False, group=self.group) return plot_height
def __init__(self): QWidget.__init__(self) self.setMinimumWidth(500) self.setMinimumHeight(200) self.__dynamic = False self.setWindowTitle("Load results manually") self.activateWindow() layout = QFormLayout() current_case = CaseSelectorModel().getCurrentChoice() run_path_text = QTextEdit() run_path_text.setText(self.readCurrentRunPath()) run_path_text.setDisabled(True) run_path_text.setFixedHeight(80) layout.addRow("Load data from current run path: ", run_path_text) self.__case_model = AllCasesModel() self.__case_combo = QComboBox() self.__case_combo.setSizeAdjustPolicy( QComboBox.AdjustToMinimumContentsLength) self.__case_combo.setMinimumContentsLength(20) self.__case_combo.setModel(self.__case_model) self.__case_combo.setCurrentIndex( self.__case_model.indexOf(current_case)) layout.addRow("Load into case:", self.__case_combo) self.__active_realizations_model = LoadResultsRealizationsModel( EnsembleSizeModel().getValue()) self.__active_realizations_field = StringBox( self.__active_realizations_model, "Realizations to load", "load_results_manually/Realizations") self.__active_realizations_field.setValidator(RangeStringArgument()) layout.addRow(self.__active_realizations_field.getLabel(), self.__active_realizations_field) self.__iterations_count = LoadResultsModel().getIterationCount() self._iterations_model = LoadResultsIterationsModel( self.__iterations_count) self._iterations_field = StringBox(self._iterations_model, "Iteration to load", "load_results_manually/iterations") self._iterations_field.setValidator(IntegerArgument()) layout.addRow(self._iterations_field.getLabel(), self._iterations_field) self.setLayout(layout)
def __init__(self): SimulationConfigPanel.__init__(self, EnsembleExperiment) self.setObjectName("Ensemble_experiment_panel") layout = QFormLayout() self._case_selector = CaseSelector() layout.addRow("Current case:", self._case_selector) run_path_label = QLabel("<b>%s</b>" % getRunPath()) addHelpToWidget(run_path_label, "config/simulation/runpath") layout.addRow("Runpath:", run_path_label) number_of_realizations_label = QLabel("<b>%d</b>" % getRealizationCount()) addHelpToWidget(number_of_realizations_label, "config/ensemble/num_realizations") layout.addRow(QLabel("Number of realizations:"), number_of_realizations_label) self._active_realizations_field = StringBox( ActiveRealizationsModel(), "config/simulation/active_realizations", ) self._active_realizations_field.setValidator( RangeStringArgument(getRealizationCount()), ) layout.addRow("Active realizations", self._active_realizations_field) self._iter_field = StringBox( IterValueModel(), "config/simulation/iter_num", ) self._iter_field.setValidator(IntegerArgument(from_value=0), ) layout.addRow("Iteration", self._iter_field) self.setLayout(layout) self._active_realizations_field.getValidationSupport( ).validationChanged.connect(self.simulationConfigurationChanged) self._case_selector.currentIndexChanged.connect( self._realizations_from_fs) self._realizations_from_fs() # update with the current case
def test_configuration_line_definition(self): cld = ConfigurationLineDefinition(keyword=KeywordDefinition("KEYWORD"), arguments=[IntegerArgument(from_value=1)], documentation_link="help/path", required=True, group="Group") self.assertTrue(cld.isRequired()) self.assertEqual(cld.documentationLink(), "help/path") keyword_definition = cld.keywordDefinition() self.assertIsInstance(keyword_definition, KeywordDefinition) self.assertEqual(keyword_definition.name(), "KEYWORD") argument_definitions = cld.argumentDefinitions() self.assertIsInstance(argument_definitions, list) self.assertEqual(len(argument_definitions), 1) self.assertIsInstance(argument_definitions[0], IntegerArgument) self.assertEqual(cld.group(), "Group")
def valid_iter_num(user_input): validator = IntegerArgument(from_value=0) validated = validator.validate(user_input) if validated.failed(): strip_error_message_and_raise_exception(validated) return user_input