コード例 #1
0
ファイル: test_inputvalues.py プロジェクト: enso9/OasisLMF
    def test_boolean_variable_with_command_default_null_is_on_the_command_line_as_true_but_not_in_config___command_line_true_value_is_picked_up(
            self):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            json.dump({'bar': 'boo'}, conf_file)
            conf_file.close()

            args = Namespace(foo=False, config=conf_file.name)

            inputs = InputValues(args)

            self.assertEqual(False, inputs.get('foo', type=bool))
        finally:
            os.remove(conf_file.name)
コード例 #2
0
ファイル: test_inputvalues.py プロジェクト: enso9/OasisLMF
    def test_variable_is_not_on_the_command_line_or_config_var_is_not_required_default_is_supplied___default_is_returned(
            self, default):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            json.dump({'bar': 'boo'}, conf_file)
            conf_file.close()

            args = Namespace(config=conf_file.name)

            inputs = InputValues(args)

            self.assertEqual(default, inputs.get('foo', default=default))
        finally:
            os.remove(conf_file.name)
コード例 #3
0
ファイル: test_inputvalues.py プロジェクト: enso9/OasisLMF
    def test_variable_is_on_the_command_line_but_not_in_config___command_line_is_used(
            self, cmd_var):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            json.dump({'bar': 'boo'}, conf_file)
            conf_file.close()

            args = Namespace(foo=cmd_var, config=conf_file.name)

            inputs = InputValues(args)

            self.assertEqual(cmd_var, inputs.get('foo'))
        finally:
            os.remove(conf_file.name)
コード例 #4
0
    def test_float_variable_is_not_on_command_line_but_is_in_config_var_is_not_required_default_is_supplied___config_is_used(
            self, conf_var, default):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            json.dump({'foo': conf_var}, conf_file)
            conf_file.close()

            args = Namespace(config=conf_file.name)

            inputs = InputValues(args)

            self.assertEqual(conf_var, inputs.get('foo', default=default))
        finally:
            os.remove(conf_file.name)
コード例 #5
0
ファイル: test_inputvalues.py プロジェクト: enso9/OasisLMF
    def test_variable_is_not_on_the_command_line_or_config_var_is_required___error_is_raised(
            self):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            json.dump({'bar': 'boo'}, conf_file)
            conf_file.close()

            args = Namespace(config=conf_file.name)

            inputs = InputValues(args)

            with self.assertRaises(OasisException):
                inputs.get('foo', required=True)
        finally:
            os.remove(conf_file.name)
コード例 #6
0
ファイル: test_inputvalues.py プロジェクト: enso9/OasisLMF
    def test_variable_is_a_path___path_is_relative_to_config_file(self):
        conf_file = NamedTemporaryFile('w', delete=False)
        try:
            test_path = os.path.join("some", "path")
            json.dump({'foo': test_path}, conf_file)
            conf_file.close()

            expected_result = os.path.abspath(
                os.path.join(os.path.dirname(conf_file.name), test_path))

            args = Namespace(config=conf_file.name)

            inputs = InputValues(args)

            result = inputs.get('foo', required=True, is_path=True)

            self.assertEqual(expected_result, result)
        finally:
            os.remove(conf_file.name)