# Path: wallace/parameters.py
# class ParameterSet(object):
# class ParametersValidityCheck(object):
# class ParametersGeneralValidityCheck(ParametersValidityCheck):
# class BasicParameter(object):
# class RangeParameter(BasicParameter):
# class IntegerRangeParameter(BasicParameter):
# class CategoryParameter(BasicParameter):
# class ParametersValidityCheckResult(object):
#     def __init__(self, parameter_values, validity_check=None, default_values=None):
#     def get(self, parameter_name):
#     def has_parameter(self, parameter_name):
#     def get_valid_value(self, parameter_name):
#     def set(self, parameter_name, value):
#     def copy(self):
#     def create_from_dict(klass, dictionary):
#     def _get(self, parameter_name):
# def initialize_validity_check(parameter_name, param_options, validity_check):
# def _get_param_option(param_options, param_option_name, required=False, parameter_name=None):
#     def check_validity(self, parameter_name, value):
#     def get_valid_value(self, parameter_name):
#     def __init__(self, parameters=None):
#     def set_range_parameter(self, parameter_name, lower_bound, upper_bound):
#     def set_integer_range_parameter(self, parameter_name, lower_bound, upper_bound):
#     def set_category_parameter(self, parameter_name, categories, weights=None):
#     def set_parameter(self, parameter_name, parameter):
#     def list_parameter_names(self):
#     def get_parameter_type(self, parameter_name):
#     def check_validity(self, parameter_name, value):
#     def merge(self, validity_check):
#     def get_valid_value(self, parameter_name):
#     def _check_parameter_existence(self, parameter_name):
#     def __init__(self, parameter_type, value=None):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def __init__(self, lower_bound, upper_bound):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def __init__(self, lower_bound, upper_bound):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def _check_initialization(self):
#     def __init__(self, categories, weights = None):
#     def check_validity(self, value):
#     def get_valid_value(self, data=None):
#     def _validate_weights(self, categories, weights):
#     def _normalize_weights(self, weights):
#     def __init__(self, is_valid, message=None):


from unittest import TestCase
from wallace import parameters
        self.assertEqual(True, parameter_set.get("my_parameter"))

        parameter_set.set("my_parameter", False)
        self.assertEqual(False, parameter_set.get("my_parameter"))

        with self.assertRaises(ValueError):
            parameter_set.set("my_parameter", "some string")

        with self.assertRaises(ValueError):
            parameter_set.set("my_parameter", 1234)

    def test_invalid_parameter_type(self):
        dictionary = {
            "my_parameter": {
                "type": "new_category"
                }
            }

        with self.assertRaises(ValueError):
            parameters.ParameterSet.create_from_dict(dictionary)

    def test_missing_required_parameter_from_range(self):
        dictionary = {
            "my_parameter": {
                "type": "range",
                "lower_bound": 12
                }
            }

        with self.assertRaises(ValueError):

# Path: wallace/parameters.py
# class ParameterSet(object):
# class ParametersValidityCheck(object):
# class ParametersGeneralValidityCheck(ParametersValidityCheck):
# class BasicParameter(object):
# class RangeParameter(BasicParameter):
# class IntegerRangeParameter(BasicParameter):
# class CategoryParameter(BasicParameter):
# class ParametersValidityCheckResult(object):
#     def __init__(self, parameter_values, validity_check=None, default_values=None):
#     def get(self, parameter_name):
#     def has_parameter(self, parameter_name):
#     def get_valid_value(self, parameter_name):
#     def set(self, parameter_name, value):
#     def copy(self):
#     def create_from_dict(klass, dictionary):
#     def _get(self, parameter_name):
# def initialize_validity_check(parameter_name, param_options, validity_check):
# def _get_param_option(param_options, param_option_name, required=False, parameter_name=None):
#     def check_validity(self, parameter_name, value):
#     def get_valid_value(self, parameter_name):
#     def __init__(self, parameters=None):
#     def set_range_parameter(self, parameter_name, lower_bound, upper_bound):
#     def set_integer_range_parameter(self, parameter_name, lower_bound, upper_bound):
#     def set_category_parameter(self, parameter_name, categories, weights=None):
#     def set_parameter(self, parameter_name, parameter):
#     def list_parameter_names(self):
#     def get_parameter_type(self, parameter_name):
#     def check_validity(self, parameter_name, value):
#     def merge(self, validity_check):
#     def get_valid_value(self, parameter_name):
#     def _check_parameter_existence(self, parameter_name):
#     def __init__(self, parameter_type, value=None):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def __init__(self, lower_bound, upper_bound):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def __init__(self, lower_bound, upper_bound):
#     def get_valid_value(self, data=None):
#     def check_validity(self, value):
#     def _check_initialization(self):
#     def __init__(self, categories, weights = None):
#     def check_validity(self, value):
#     def get_valid_value(self, data=None):
#     def _validate_weights(self, categories, weights):
#     def _normalize_weights(self, weights):
#     def __init__(self, is_valid, message=None):


# Path: tests/parameters/tests.py
from unittest import TestCase
from wallace import parameters

        self.assertEqual(True, parameter_set.get("my_parameter"))

        parameter_set.set("my_parameter", False)
        self.assertEqual(False, parameter_set.get("my_parameter"))

        with self.assertRaises(ValueError):
            parameter_set.set("my_parameter", "some string")

        with self.assertRaises(ValueError):
            parameter_set.set("my_parameter", 1234)

    def test_invalid_parameter_type(self):
        dictionary = {
            "my_parameter": {
                "type": "new_category"
                }
            }

        with self.assertRaises(ValueError):
            parameters.ParameterSet.create_from_dict(dictionary)

    def test_missing_required_parameter_from_range(self):
        dictionary = {
            "my_parameter": {
                "type": "range",
                "lower_bound": 12
                }
            }

        with self.assertRaises(ValueError):

            parameters.ParameterSet.create_from_dict(dictionary)