class TestComponentDictionary: def setup_method(self, method): self.parameter_names = ['par1', 'par2'] self.comp = Component(self.parameter_names) self.comp.name = 'newname!' self.comp._id_name = 'dummy names yay!' self.comp._axes_manager = DummyAxesManager() self.comp._create_arrays() self.comp.par1.value = 2. self.comp.par2.value = 5. self.comp.par1.std = 0.2 self.comp.par2.std = 0.5 self.comp.store_current_parameters_in_map() def test_to_dictionary(self): d = self.comp.as_dictionary() c = self.comp assert c.name == d['name'] assert c._id_name == d['_id_name'] assert not d['active_is_multidimensional'] assert d['active'] assert d['_active_array'] is None for ip, p in enumerate(c.parameters): assert p.as_dictionary() == d['parameters'][ip] c.active_is_multidimensional = True d1 = c.as_dictionary() assert d1['active_is_multidimensional'] np.testing.assert_array_equal(d1['_active_array'], c._active_array) def test_load_dictionary(self): c = self.comp c.par1.twin_function_expr = "x + 2" c.par2.twin_function_expr = "x - 2" d = c.as_dictionary(True) n = Component(self.parameter_names) n._id_name = 'dummy names yay!' _ = n._load_dictionary(d) assert c.name == n.name assert c.active == n.active assert ( c.active_is_multidimensional == n.active_is_multidimensional) for pn, pc in zip(n.parameters, c.parameters): rn = np.random.random() assert pn.twin_function(rn) == pc.twin_function(rn) assert ( pn.twin_inverse_function(rn) == pc.twin_inverse_function(rn)) dn = pn.as_dictionary() del dn['self'] dc = pc.as_dictionary() del dc['self'] print(list(dn.keys())) print(list(dc.keys())) assert dn == dc def test_invalid_component_name(self): c = self.comp d = c.as_dictionary() n = Component(self.parameter_names) with pytest.raises(ValueError): _ = n._load_dictionary(d) def test_invalid_parameter_name(self): c = self.comp d = c.as_dictionary() n = Component([a + 's' for a in self.parameter_names]) n._id_name = 'dummy names yay!' with pytest.raises(ValueError): _ = n._load_dictionary(d)
class TestComponentDictionary: def setUp(self): self.parameter_names = ['par1', 'par2'] self.comp = Component(self.parameter_names) self.comp.name = 'newname!' self.comp._id_name = 'dummy names yay!' self.comp._axes_manager = DummyAxesManager() self.comp._create_arrays() self.comp.par1.value = 2. self.comp.par2.value = 5. self.comp.par1.std = 0.2 self.comp.par2.std = 0.5 self.comp.store_current_parameters_in_map() def test_to_dictionary(self): d = self.comp.as_dictionary() c = self.comp nt.assert_equal(c.name, d['name']) nt.assert_equal(c._id_name, d['_id_name']) nt.assert_false(d['active_is_multidimensional']) nt.assert_true(d['active']) nt.assert_is_none(d['_active_array']) for ip, p in enumerate(c.parameters): nt.assert_equal(p.as_dictionary(), d['parameters'][ip]) c.active_is_multidimensional = True d1 = c.as_dictionary() nt.assert_true(d1['active_is_multidimensional']) nt.assert_true(np.all(d1['_active_array'] == c._active_array)) def test_load_dictionary(self): c = self.comp d = c.as_dictionary(True) n = Component(self.parameter_names) n._id_name = 'dummy names yay!' _ = n._load_dictionary(d) nt.assert_equal(c.name, n.name) nt.assert_equal(c.active, n.active) nt.assert_equal( c.active_is_multidimensional, n.active_is_multidimensional) for pn, pc in zip(n.parameters, c.parameters): rn = np.random.random() nt.assert_equal(pn.twin_function(rn), pc.twin_function(rn)) nt.assert_equal( pn.twin_inverse_function(rn), pc.twin_inverse_function(rn)) dn = pn.as_dictionary() del dn['self'] del dn['twin_function'] del dn['twin_inverse_function'] dc = pc.as_dictionary() del dc['self'] del dc['twin_function'] del dc['twin_inverse_function'] print dn.keys() print dc.keys() nt.assert_dict_equal(dn, dc) @nt.raises(ValueError) def test_invalid_component_name(self): c = self.comp d = c.as_dictionary() n = Component(self.parameter_names) id_dict = n._load_dictionary(d) @nt.raises(ValueError) def test_invalid_parameter_name(self): c = self.comp d = c.as_dictionary() n = Component([a + 's' for a in self.parameter_names]) n._id_name = 'dummy names yay!' id_dict = n._load_dictionary(d)
class TestComponentDictionary: def setUp(self): self.parameter_names = ['par1', 'par2'] self.comp = Component(self.parameter_names) self.comp.name = 'newname!' self.comp._id_name = 'dummy names yay!' self.comp._axes_manager = DummyAxesManager() self.comp._create_arrays() self.comp.par1.value = 2. self.comp.par2.value = 5. self.comp.par1.std = 0.2 self.comp.par2.std = 0.5 self.comp.store_current_parameters_in_map() def test_to_dictionary(self): d = self.comp.as_dictionary() c = self.comp nt.assert_equal(c.name, d['name']) nt.assert_equal(c._id_name, d['_id_name']) nt.assert_false(d['active_is_multidimensional']) nt.assert_true(d['active']) nt.assert_is_none(d['_active_array']) for ip, p in enumerate(c.parameters): nt.assert_equal(p.as_dictionary(), d['parameters'][ip]) c.active_is_multidimensional = True d1 = c.as_dictionary() nt.assert_true(d1['active_is_multidimensional']) np.testing.assert_array_equal(d1['_active_array'], c._active_array) def test_load_dictionary(self): c = self.comp d = c.as_dictionary(True) n = Component(self.parameter_names) n._id_name = 'dummy names yay!' _ = n._load_dictionary(d) nt.assert_equal(c.name, n.name) nt.assert_equal(c.active, n.active) nt.assert_equal( c.active_is_multidimensional, n.active_is_multidimensional) for pn, pc in zip(n.parameters, c.parameters): rn = np.random.random() nt.assert_equal(pn.twin_function(rn), pc.twin_function(rn)) nt.assert_equal( pn.twin_inverse_function(rn), pc.twin_inverse_function(rn)) dn = pn.as_dictionary() del dn['self'] del dn['twin_function'] del dn['twin_inverse_function'] dc = pc.as_dictionary() del dc['self'] del dc['twin_function'] del dc['twin_inverse_function'] print(list(dn.keys())) print(list(dc.keys())) nt.assert_dict_equal(dn, dc) @nt.raises(ValueError) def test_invalid_component_name(self): c = self.comp d = c.as_dictionary() n = Component(self.parameter_names) id_dict = n._load_dictionary(d) @nt.raises(ValueError) def test_invalid_parameter_name(self): c = self.comp d = c.as_dictionary() n = Component([a + 's' for a in self.parameter_names]) n._id_name = 'dummy names yay!' id_dict = n._load_dictionary(d)
class TestComponentDictionary: def setup_method(self, method): self.parameter_names = ['par1', 'par2'] self.comp = Component(self.parameter_names) self.comp.name = 'newname!' self.comp._id_name = 'dummy names yay!' self.comp._axes_manager = DummyAxesManager() self.comp._create_arrays() self.comp.par1.value = 2. self.comp.par2.value = 5. self.comp.par1.std = 0.2 self.comp.par2.std = 0.5 self.comp.store_current_parameters_in_map() def test_to_dictionary(self): d = self.comp.as_dictionary() c = self.comp assert c.name == d['name'] assert c._id_name == d['_id_name'] assert not d['active_is_multidimensional'] assert d['active'] assert d['_active_array'] is None for ip, p in enumerate(c.parameters): assert p.as_dictionary() == d['parameters'][ip] c.active_is_multidimensional = True d1 = c.as_dictionary() assert d1['active_is_multidimensional'] np.testing.assert_array_equal(d1['_active_array'], c._active_array) def test_load_dictionary(self): c = self.comp c.par1.twin_function_expr = "x + 2" c.par2.twin_function_expr = "x - 2" d = c.as_dictionary(True) n = Component(self.parameter_names) n._id_name = 'dummy names yay!' _ = n._load_dictionary(d) assert c.name == n.name assert c.active == n.active assert ( c.active_is_multidimensional == n.active_is_multidimensional) for pn, pc in zip(n.parameters, c.parameters): rn = np.random.random() assert pn.twin_function(rn) == pc.twin_function(rn) assert ( pn.twin_inverse_function(rn) == pc.twin_inverse_function(rn)) dn = pn.as_dictionary() del dn['self'] dc = pc.as_dictionary() del dc['self'] print(list(dn.keys())) print(list(dc.keys())) assert dn == dc def test_invalid_component_name(self): c = self.comp d = c.as_dictionary() n = Component(self.parameter_names) with pytest.raises(ValueError): id_dict = n._load_dictionary(d) def test_invalid_parameter_name(self): c = self.comp d = c.as_dictionary() n = Component([a + 's' for a in self.parameter_names]) n._id_name = 'dummy names yay!' with pytest.raises(ValueError): id_dict = n._load_dictionary(d)