예제 #1
0
    def test_ordered(self):
        parameter_list = [["gbar_Na", 120,
                           cp.Uniform(110, 130)],
                          ["gbar_K", 36, cp.Normal(36, 1)],
                          ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)

        uncertain_parameters = parameters.get_from_uncertain("name")
        self.assertEqual(uncertain_parameters, ["gbar_Na", "gbar_K", "gbar_L"])

        uncertain_parameters = parameters.get("name")
        self.assertEqual(uncertain_parameters, ["gbar_Na", "gbar_K", "gbar_L"])

        parameter_list = [["gbar_K", 36, cp.Normal(36, 1)],
                          ["gbar_Na", 120,
                           cp.Uniform(110, 130)],
                          ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)

        uncertain_parameters = parameters.get_from_uncertain("name")
        self.assertEqual(uncertain_parameters, ["gbar_K", "gbar_Na", "gbar_L"])

        uncertain_parameters = parameters.get("name")
        self.assertEqual(uncertain_parameters, ["gbar_K", "gbar_Na", "gbar_L"])

        uncertain_parameters = parameters.get("value")
        self.assertEqual(uncertain_parameters, [36, 120, 0.3])
예제 #2
0
    def test_get_error(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                         ["gbar_K", 36, cp.Normal(36, 1)],
                         ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        self.parameters = Parameters(parameter_list)

        with self.assertRaises(AttributeError):
            self.parameters.get("not_a_parameter")
예제 #3
0
    def test_delitem(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                         ["gbar_K", 36, cp.Normal(36, 1)],
                         ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)

        del parameters["gbar_Na"]

        self.assertEqual(len(parameters.parameters), 2)
예제 #4
0
    def test_get_value_list(self):
        parameter_list = [["gbar_Na", 120,
                           cp.Uniform(110, 130)],
                          ["gbar_K", 36, cp.Normal(36, 1)],
                          ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]
        self.parameters = Parameters(parameter_list)

        result = self.parameters.get("value", ["gbar_Na", "gbar_K"])

        self.assertIn(120, result)
        self.assertIn(36, result)
예제 #5
0
    def test_get_distribution(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                         ["gbar_K", 36, cp.Normal(36, 1)],
                         ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        self.parameters = Parameters(parameter_list)
        result = self.parameters.get("distribution")

        self.assertEqual(len(result), 3)
        self.assertIsInstance(result[0], cp.Dist)
        self.assertIsInstance(result[1], cp.Dist)
        self.assertIsInstance(result[2], cp.Dist)
예제 #6
0
    def test_get_name(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                         ["gbar_K", 36, cp.Normal(36, 1)],
                         ["gbar_l", 0.3, cp.Chi(1, 1, 0.3)]]

        self.parameters = Parameters(parameter_list)

        result = self.parameters.get()

        self.assertIn("gbar_Na", result)
        self.assertIn("gbar_K", result)
        self.assertIn("gbar_l", result)
예제 #7
0
    def test_iter(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                         ["gbar_K", 36, cp.Normal(36, 1)],
                         ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)

        result = [parameter for parameter in parameters]

        self.assertEqual(len(result), 3)

        self.assertIsInstance(result[0], Parameter)
        self.assertIsInstance(result[1], Parameter)
        self.assertIsInstance(result[2], Parameter)
예제 #8
0
    def test_init_list_chaospy(self):
        parameter_list = [["gbar_Na", 120, cp.Uniform(110, 130)],
                          ["gbar_K", 36, cp.Normal(36, 1)],
                          ["gbar_L", 0.3, cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)

        self.assertIsInstance(parameters, Parameters)
        self.assertIsInstance(parameters["gbar_Na"], Parameter)
        self.assertIsInstance(parameters["gbar_K"], Parameter)
        self.assertIsInstance(parameters["gbar_L"], Parameter)

        self.assertEqual(parameters["gbar_Na"].value, 120)
        self.assertEqual(parameters["gbar_K"].value, 36)
        self.assertEqual(parameters["gbar_L"].value, 0.3)

        self.assertIsInstance(parameters["gbar_Na"].distribution, cp.Dist)
        self.assertIsInstance(parameters["gbar_K"].distribution, cp.Dist)
        self.assertIsInstance(parameters["gbar_L"].distribution, cp.Dist)
예제 #9
0
    def test_init_list_only_chaospy(self):
        parameter_list = [["gbar_Na", cp.Uniform(110, 130)],
                          ["gbar_K", cp.Normal(36, 1)],
                          ["gbar_l", cp.Chi(1, 1, 0.3)]]

        parameters = Parameters(parameter_list)


        self.assertIsInstance(parameters, Parameters)
        self.assertIsInstance(parameters["gbar_Na"], Parameter)
        self.assertIsInstance(parameters["gbar_K"], Parameter)
        self.assertIsInstance(parameters["gbar_l"], Parameter)

        self.assertIsNone(parameters["gbar_Na"].value)
        self.assertIsNone(parameters["gbar_K"].value)
        self.assertIsNone(parameters["gbar_l"].value)

        self.assertIsInstance(parameters["gbar_Na"].distribution, cp.Dist)
        self.assertIsInstance(parameters["gbar_K"].distribution, cp.Dist)
        self.assertIsInstance(parameters["gbar_l"].distribution, cp.Dist)