def test_flatten_models(self): " MultiFitter.flatten_models " models = self.make_models(ncg=1) alltags = [m.datatag for m in models] models = self.make_models(ncg=1) models = [models[0], tuple(models[1:])] tags = [m.datatag for m in MultiFitter.flatten_models(models)] self.assertEqual(alltags, tags) models = self.make_models(ncg=1) models = [models[0], models[1:]] tags = [m.datatag for m in MultiFitter.flatten_models(models)] self.assertEqual(alltags, tags) models = self.make_models(ncg=1) models = [models[0], [(models[0], models[1]), (models[0], models[2])]] tags = [m.datatag for m in MultiFitter.flatten_models(models)] self.assertEqual(alltags, tags) models = self.make_models(ncg=1) models = [models[0], [tuple(models[1:]), ()]] tags = [m.datatag for m in MultiFitter.flatten_models(models)] self.assertEqual(alltags, tags) models = self.make_models(ncg=1) models = [(), models[0], [], (models[1], (), models[2], ()), [(), tuple(models[1:]), ()], [], [()]] tags = [m.datatag for m in MultiFitter.flatten_models(models)] self.assertEqual(alltags, tags) models = self.make_models(ncg=1) tags = [m.datatag for m in MultiFitter.flatten_models(models[0])] self.assertEqual(alltags[:1], tags)
def test_chained_fit_kargs(self): " MultiFitter(models=[m1, dict(...), m2, ...]) " models = self.make_models(ncg=1) models = [models[2], dict(mopt=True), models[1], models[0]] fitter = MultiFitter(models=models, mopt=None) fit = fitter.chained_lsqfit(data=self.data, prior=self.prior, fast=True, wavg_all=False) self.assertTrue(fit.p['b'] is self.prior['b']) self.assertEqual(fitter.mopt, None) fitter = MultiFitter(models=fitter.flatten_models(models), mopt=None) fit = fitter.chained_lsqfit(data=self.data, prior=self.prior, fast=True) self.assertTrue(fit.p['b'] is not self.prior['b'])