Пример #1
0
 def test_fit_works_with_scatterer(self):
     function_result = fit(DATA, SPHERE)
     function_result.time = None
     model = make_default_model(SPHERE, None)
     object_result = model.fit(DATA)
     object_result.time = None
     self.assertEqual(function_result, object_result)
Пример #2
0
 def test_fit_works_with_scatterer_and_parameters(self):
     function_result = fit(DATA, SPHERE, ['n', 'x'])
     function_result.time = None
     model = make_default_model(SPHERE, ['n', 'x'])
     object_result = model.fit(DATA)
     object_result.time = None
     self.assertEqual(function_result, object_result)
Пример #3
0
 def test_parameterize_scatterer_spheres(self):
     sphere = Sphere(r=0.5, n=1, center=[0, 0, 0])
     model = make_default_model(Spheres([sphere, sphere], warn=False))
     expected = {
         '0:n', '1:n', '0:r', '1:r', 'alpha', '0:x', '0:y', '0:z', '1:x',
         '1:y', '1:z'
     }
     self.assertEqual(set(model.parameters.keys()), expected)
Пример #4
0
 def test_parameterize_scatterer_spheres_by_given(self):
     s1 = Sphere(r=0.5, n=1, center=[0, 0, 0])
     s2 = Sphere(r=0.5, n=1, center=[1, 1, 1])
     model = make_default_model(Spheres([s1, s2]), ['0:r', '1:x'])
     e1 = Sphere(r=prior.Uniform(0, np.inf, 0.5, '0:r'),
                 n=1,
                 center=[0, 0, 0])
     e2 = Sphere(r=0.5,
                 n=1,
                 center=[prior.Uniform(-np.inf, np.inf, 1, '1:x'), 1, 1])
     self.assertEqual(model.scatterer, Spheres([e1, e2]))
Пример #5
0
 def test_passing_model_and_parameters_gives_warning(self):
     model = make_default_model(SPHERE, None)
     self.assertWarns(UserWarning, fit, DATA, model, ['r', 'y'])
Пример #6
0
 def test_model_takes_precendence_over_parameters(self):
     model = make_default_model(SPHERE, ['n', 'x'])
     with warnings.catch_warnings():
         warnings.simplefilter('ignore', UserWarning)
         result = fit(DATA, model, ['r', 'y'])
     self.assertEqual(result._names, ['n', 'center.0', 'alpha'])
Пример #7
0
 def test_make_default_model_construction(self):
     model = make_default_model(Sphere(), None)
     self.assertEqual(model.noise_sd, 1)
     self.assertTrue(isinstance(model, AlphaModel))
Пример #8
0
 def test_make_default_model_with_parameters(self):
     model = make_default_model(SPHERE, ['r'])
     self.assertEqual(set(model.parameters.keys()), {'r', 'alpha'})
Пример #9
0
 def test_make_default_model_with_no_parameters(self):
     model = make_default_model(SPHERE, None)
     expected_parameters = SPHERE.parameters
     expected_parameters['alpha'] = None
     self.assertEqual(model.parameters.keys(), expected_parameters.keys())
Пример #10
0
 def test_parameterize_scatterer_spheres_minval(self):
     sphere = Sphere(r=0.5, n=1, center=[0, 0, 0])
     model = make_default_model(Spheres([sphere, sphere], warn=False))
     self.assertEqual(model.parameters['0:n'].lower_bound, 0)
     self.assertEqual(model.parameters['1:n'].lower_bound, 0)
Пример #11
0
 def test_make_default_model_with_no_parameters(self):
     model = make_default_model(SPHERE, None)
     expected = {'n', 'r', 'alpha', 'x', 'y', 'z'}
     self.assertEqual(set(model.parameters.keys()), expected)