コード例 #1
0
 def test_invalid_name(self):
     d = self.par.as_dictionary()
     d['_id_name'] = 'otherone'
     p = Parameter()
     p._id_name = 'newone'
     with pytest.raises(ValueError):
         _ = p._load_dictionary(d)
コード例 #2
0
def test_linear_parameter_initialisation():

    C = Component(['one', 'two'], ['one'])
    P = Parameter()

    assert C.one._linear
    assert not C.two._linear
    assert not P._linear
コード例 #3
0
def test_multivalue_parameter():
    p = Parameter()
    p._number_of_elements = 2
    p.value = (1.5, 3)
    wd = p.gui(**KWARGS)["ipywidgets"]["wdict"]
    assert wd["element0"]["value"].value == p.value[0]
    assert wd["element1"]["value"].value == p.value[1]
    wd["element0"]["value"].value = -4
    wd["element1"]["value"].value = -3
    assert wd["element0"]["value"].value == p.value[0]
    assert wd["element1"]["value"].value == p.value[1]
コード例 #4
0
 def setup_method(self, method):
     self.par = Parameter()
     self.par.name = 'asd'
     self.par._id_name = 'newone'
     self.par.twin_function_expr = "x * x"
     self.par.twin_inverse_function_expr = "sqrt(x)"
     self.par._axes_manager = DummyAxesManager()
     self.par._create_array()
     self.par.value = 1
     self.par.std = 0.1
     self.par.store_current_value_in_array()
     self.par.ext_bounded = False
     self.par.ext_force_positive = False
コード例 #5
0
def test_multivalue_parameter():
    p = Parameter()
    p._number_of_elements = 2
    p.value = (1.5, 3)
    wd = p.gui(**KWARGS)["ipywidgets"]["wdict"]
    assert wd["element0"]["value"].value == p.value[0]
    assert wd["element1"]["value"].value == p.value[1]
    wd["element0"]["value"].value = -4
    wd["element1"]["value"].value = -3
    assert wd["element0"]["value"].value == p.value[0]
    assert wd["element1"]["value"].value == p.value[1]

    wd["update_button"]._click_handlers(wd["update_button"])    # Trigger it
コード例 #6
0
def test_parameter():
    p = Parameter()
    p.bmin = None
    p.bmax = 10
    p.value = 1.5
    wd = p.gui(**KWARGS)["ipywidgets"]["wdict"]
    assert wd["value"].value == p.value
    assert wd["max"].value == p.bmax
    wd["value"].value = -4
    p.bmin = -10
    p.bmax = 0
    assert wd["value"].value == p.value
    assert wd["min"].value == p.bmin
    assert wd["max"].value == p.bmax
コード例 #7
0
    def setUp(self):
        self.par = Parameter()
        self.par.name = 'asd'
        self.par._id_name = 'newone'

        def ft(x):
            return x * x

        def fit(x):
            return x * x + 1
        self.par.twin_function = ft
        self.par.twin_inverse_function = fit
        self.par._axes_manager = DummyAxesManager()
        self.par._create_array()
        self.par.value = 1
        self.par.std = 0.1
        self.par.store_current_value_in_array()
        self.par.ext_bounded = False
        self.par.ext_force_positive = False
コード例 #8
0
    def test_load_dictionary(self):
        d = self.par.as_dictionary()
        p = Parameter()
        p._id_name = 'newone'
        _id = p._load_dictionary(d)

        assert _id == id(self.par)
        assert p.name == self.par.name
        assert p._id_name == self.par._id_name
        np.testing.assert_equal(p.map['values'][0], 1)
        np.testing.assert_equal(p.map['std'][0], 0.1)
        assert p.map['is_set'][0]
        np.testing.assert_equal(p.value, self.par.value)
        np.testing.assert_equal(p.std, self.par.std)
        np.testing.assert_equal(p.free, self.par.free)
        np.testing.assert_equal(p._bounds, self.par._bounds)

        rn = np.random.random()
        np.testing.assert_equal(p.twin_function(rn),
                                self.par.twin_function(rn))
        np.testing.assert_equal(p.twin_inverse_function(rn),
                                self.par.twin_inverse_function(rn))
コード例 #9
0
    def test_load_dictionary(self):
        d = self.par.as_dictionary()
        p = Parameter()
        p._id_name = 'newone'
        _id = p._load_dictionary(d)

        nt.assert_equal(_id, id(self.par))
        nt.assert_true(p.name == self.par.name)
        nt.assert_true(p._id_name == self.par._id_name)
        nt.assert_true(p.map['values'][0] == 1)
        nt.assert_true(p.map['std'][0] == 0.1)
        nt.assert_true(p.map['is_set'][0])
        nt.assert_true(p.value == self.par.value)
        nt.assert_true(p.std == self.par.std)
        nt.assert_true(p.free == self.par.free)
        nt.assert_true(p._bounds == self.par._bounds)

        rn = np.random.random()
        nt.assert_equal(p.twin_function(rn), self.par.twin_function(rn))
        nt.assert_equal(
            p.twin_inverse_function(rn),
            self.par.twin_inverse_function(rn))
コード例 #10
0
 def setup_method(self, method):
     self.par = Parameter()
コード例 #11
0
 def setup_method(self, method):
     self.par = Parameter()
     self.par._axes_manager = mock.MagicMock()
     self.par.map = np.array(
         [(a, b, c) for a, b, c in zip([1, 3, 5], [2, 4, 6], [0, 0, 0])],
         dtype=[('values', 'float'), ('std', 'float'), ('is_set', bool)])
コード例 #12
0
 def setup_method(self, method):
     self.p1 = Parameter()
     self.p2 = Parameter()
コード例 #13
0
 def setup_method(self, method):
     self.par = Parameter()
     self.par._number_of_elements = 2
コード例 #14
0
 def setUp(self):
     self.par = Parameter()
     self.par._number_of_elements = 2
コード例 #15
0
 def setUp(self):
     self.p1 = Parameter()
     self.p2 = Parameter()
コード例 #16
0
 def setUp(self):
     self.par = Parameter()
コード例 #17
0
 def test_invalid_name(self):
     d = self.par.as_dictionary()
     d['_id_name'] = 'otherone'
     p = Parameter()
     p._id_name = 'newone'
     _id = p._load_dictionary(d)