def test_set_parameters(self): distribution = Uniform([-101], [-100], seed=1) sample = distribution.sample(1)[0, 0] self.assertLessEqual(sample, -100) self.assertGreaterEqual(sample, -101) distribution.set_parameters([[100], [101]]) sample = distribution.sample(1)[0, 0] self.assertLessEqual(sample, 101) self.assertGreaterEqual(sample, 100)
class UniformTests(unittest.TestCase): def setUp(self): self.prior = Uniform([-1.0, -1.0], [1.0, 1.0], seed=1) def test_init(self): self.assertRaises(TypeError, Uniform, 3.14, [1.0, 1.0]) self.assertRaises(TypeError, Uniform, [-1.0, -1.0], 3.14) self.assertRaises(BaseException, Uniform, [-1.0, -1.0], [.0, 1.0, 1.0]) def test_sample(self): samples = self.prior.sample(1000) samples_avg = samples.mean(axis=0) samples_min = samples.min(axis=0) samples_max = samples.max(axis=0) for (avg, min, max) in zip(samples_avg, samples_min, samples_max): self.assertLess(abs(avg), 0.05) self.assertLess(abs(min + 1.0), 0.05) self.assertLess(abs(max - 1.0), 0.05) samples_shape = np.shape(samples) self.assertEqual(samples_shape, (1000, 2)) def test_set_parameters(self): distribution = Uniform([-101], [-100], seed=1) sample = distribution.sample(1)[0, 0] self.assertLessEqual(sample, -100) self.assertGreaterEqual(sample, -101) distribution.set_parameters([[100], [101]]) sample = distribution.sample(1)[0, 0] self.assertLessEqual(sample, 101) self.assertGreaterEqual(sample, 100) def test_pdf(self): new_prior = Uniform(np.array([0.0]), np.array([10.0]), seed=1) self.assertEqual(new_prior.pdf(0), 0.1) self.assertEqual(new_prior.pdf(-1), 0) self.assertEqual(new_prior.pdf(11), 0)