def test2(self): instance = FlatIMF(0.1 | units.MSun, 1000.0 | units.MSun) self.assertAlmostEqual(instance.mass(1.0), 1000.0 | units.MSun) self.assertAlmostEqual(instance.mass(0.75), 100.0 | units.MSun) self.assertAlmostEqual(instance.mass(0.5), 10.0 | units.MSun) self.assertAlmostEqual(instance.mass(0.25), 1.0 | units.MSun) self.assertAlmostEqual(instance.mass(0.0), 0.1 | units.MSun)
def test3(self): numpy.random.seed(345672) instance = FlatIMF(0.1 | units.MSun, 100 | units.MSun) n = 10000 total_mass, set_of_masses = instance.next_set(n) mean_mass = 99.9/numpy.log(1e3) | units.MSun self.assertAlmostEqual(instance.mass_mean(), mean_mass) self.assertAlmostRelativeEqual(total_mass / n, mean_mass, 3) self.assertAlmostEqual(total_mass / n, 14.4615334306 | units.MSun) self.assertAlmostEqual(instance.mass(0.5), set_of_masses.median(), 1)