def test_normalize_integer(self): expected = 1234 field = NumericalInputField('test_attr', label='Test Attribute', ) normalized = field.normalize_user_option(['1234']) self.assertEqual(normalized, expected)
def test_normalize_empty_field_with_default(self): expected = 1234 field = NumericalInputField('test_attr', label='Test Attribute', attr_value=1234 ) normalized = field.normalize_user_option(['']) self.assertEqual(normalized, expected)
def test_normalize_float(self): expected = 1.0 field = NumericalInputField('test_attr', label='Test Attribute', attr_step='any' ) normalized = field.normalize_user_option(['1.0']) self.assertEqual(normalized, expected)
def test_normalize_empty_field_no_default_required(self): expected = 0 field = NumericalInputField('test_attr', label='Test Attribute', attr_required=True ) normalized = field.normalize_user_option(['']) self.assertEqual(normalized, expected)
def test_returns_float_trait_with_step_any(self): expected = Float().tag(config=True) field = NumericalInputField('test_attr', label='Test Attribute', attr_step='any' ) traitlet = field.get_trait() self.assertIsInstance(traitlet, Float) self.assertEqual(traitlet.metadata, expected.metadata) self.assertEqual(traitlet.default_value, expected.default_value)
def test_render_required_bounded_integer_with_default(self): expected = ("""<label for="test_attr">Test Attribute</label>\n""" """<input id="id_test_attr" class="form-control" max="2" min="1" name="test_attr" required type="number" value="1">\n""") field = NumericalInputField('test_attr', label='Test Attribute', attr_required=True, attr_min=1, attr_max=2, attr_value=1 ) rendered = field.render() self.assertEqual(rendered, expected)
def test_returns_integer_trait_with_default(self): expected = Integer(default_value=1).tag(config=True) field = NumericalInputField('test_attr', label='Test Attribute', attr_required=True, attr_min=1, attr_max=2, attr_value=1 ) traitlet = field.get_trait() self.assertIsInstance(traitlet, Integer) self.assertEqual(traitlet.metadata, expected.metadata) self.assertEqual(traitlet.default_value, expected.default_value)
def test_apply_traits_to_spawner(self): field1 = TextInputField('test_attr_text', label='Test Text', attr_value='default' ) field2 = NumericalInputField('test_attr_numerical', label='Test Numerical', attr_value=2, attr_step='any' ) form_fields = [field1, field2] config = get_config() config['OptionsFormSpawner']['form_fields'] = form_fields with suppress_output(): spawner = new_spawner(config=config) spawner._apply_traits_from_fields() self.assertTrue(spawner.has_trait('test_attr_text')) self.assertTrue(spawner.has_trait('test_attr_numerical'))
def test_set_trait_values_on_spawner(self): field1 = TextInputField('test_attr_text', label='Test Text', attr_value='default' ) field2 = NumericalInputField('test_attr_numerical', label='Test Numerical', attr_value=2, attr_step='any' ) form_fields = [field1, field2] config = get_config() config['OptionsFormSpawner']['form_fields'] = form_fields with suppress_output(): spawner = new_spawner(config=config) spawner.user_options = { 'test_attr_text': ['not_default'], 'test_attr_numerical': [4.0] } spawner._set_trait_values_from_options() self.assertEqual(spawner.test_attr_text, 'not_default') self.assertEqual(spawner.test_attr_numerical, 4.0)
def test_normalize_invalid_value(self): # Should be an int type since default step is 1 field = NumericalInputField('test_attr', label='Test Attribute' ) self.assertRaises(ValueError, field.normalize_user_option, ['1.0'])
choices=[ ('summit', "Summit"), ('blanca', "Blanca"), ], ) runtime_input = TextInputField( 'req_runtime', label='Specify runtime (HH:MM:SS format, 12hr max)', attr_required=True, attr_value='02:00:00', attr_pattern="(12:00:00)|(1[0-1]|0?[0-9]):([0-5][0-9]):([0-5][0-9])") nodes_input = NumericalInputField('req_nodes', label='Specify node count', attr_required=True, attr_value=1, attr_min=1, attr_max=4) ntasks_input = NumericalInputField('req_ntasks', label='Specify tasks per node', attr_required=True, attr_value=1, attr_min=1, attr_max=24) image_select = SelectField( 'req_image_path', label='Select a notebook image', attr_required=True, choices=[