def test_free(self): g = FunctionWrapper( "Gaussian", Height=8.5, Sigma=1.2, PeakCentre=15) g.constrain("Sigma < 2.0, Height > 7.0") g.tie({"PeakCentre":"2*Height"}) g.free("Height") g1_str = str(g) self.assertEqual(g1_str.count("ties="),1) self.assertEqual(g1_str.count("constraints="),1) self.assertEqual(g1_str.count("constraints=(Sigma<2)"),1) g.free("PeakCentre") g2_str = str(g) self.assertEqual(g2_str.count("ties="),0) self.assertEqual(g2_str.count("constraints="),1) g.free("Sigma") gz_str = str(g) self.assertEqual(gz_str.count("constraints="),0)
def test_tie(self): g = FunctionWrapper( "Gaussian", Height=8.5, Sigma=1.2, PeakCentre=15) g.tie(Sigma="0.1*Height") g_str = str(g) self.assertEqual(g_str.count("ties="),1) self.assertEqual(g_str.count("ties=(Sigma=0.1*Height)"),1) g0 = FunctionWrapper( "Gaussian", Height=7.5, Sigma=1.2, PeakCentre=10) g1 = FunctionWrapper( "Gaussian", Height=8.5, Sigma=1.2, PeakCentre=11) c = CompositeFunctionWrapper(g0, g1) c.tie({"f1.Sigma":"f0.Sigma"}) c_str = str(c) self.assertEqual(c_str.count("ties="),1) self.assertEqual(c_str.count("ties=(f1.Sigma=f0.Sigma)"),1) c.untie("f1.Sigma") cz_str = str(c) self.assertEqual(cz_str.count("ties="),0)