def test_remove_prior(): p1 = Parameter('test_parameter', 1.0, min_value=-5.0, max_value=5.0, delta=0.2, desc='test', free=False, unit='MeV') my_prior = Uniform_prior() p1.prior = my_prior assert p1.has_prior()==True # Now remove it p1.prior = None assert p1.has_prior()==False
def test_constructor_complete(): p = Parameter( 'test_parameter', 1.0, min_value=-5.0, max_value=5.0, delta=0.2, desc='test', free=False, unit=u.MeV, prior=Uniform_prior(), is_normalization=True, ) assert p.min_value == -5.0 assert p.max_value == 5.0 assert p.value == 1.0 assert p.delta == 0.2 assert p.name == 'test_parameter' assert p.description == 'test' assert p.fix == True assert p.free == False assert p.has_prior() == True assert p.unit == u.MeV assert p.is_normalization p.display()
def test_default_constructor_units(): p = Parameter('test_parameter', 1.0 * u.keV, desc='Description') assert p.min_value is None assert p.max_value is None assert p.value == 1.0 assert isinstance(p.delta, float) assert p.name == 'test_parameter' assert p.description == 'Description' assert p.fix == False assert p.free == True assert p.has_prior() == False assert p.prior is None assert p.unit == u.keV p.display()
def test_conflicting_units_in_initial_value_and_unit_keyword(): p = Parameter('test_parameter', 1.0 * u.keV, desc='Description', unit=u.MeV) assert p.min_value is None assert p.max_value is None assert p.value == 1.0e-3 assert isinstance(p.delta, float) assert p.name == 'test_parameter' assert p.description == 'Description' assert p.fix == False assert p.free == True assert p.has_prior() == False assert p.prior is None assert p.unit == u.MeV p.display()
def test_default_constructor(): p = Parameter('test_parameter', 1.0, desc='Description') assert p.min_value is None assert p.max_value is None assert p.value == 1.0 assert isinstance(p.delta, float) assert p.name == 'test_parameter' assert p.description == 'Description' assert p.fix == False assert p.free == True assert p.has_prior() == False assert p.prior is None assert p.unit == u.dimensionless_unscaled # Test that we cannot call a parameter with a name with spaces in it with pytest.raises(AssertionError): _ = Parameter('test parameter 2', 1.0) # Test some failures cases with pytest.raises(ValueError): _ = Parameter('test', 'pippo') with pytest.raises(ValueError): _ = Parameter('test', 1.0, min_value='a') with pytest.raises(ValueError): _ = Parameter('test', 1.0, max_value='b') with pytest.raises(TypeError): _ = Parameter('test', 1.0, delta='b') p.display()