def test_set_prior_incorrect_shape_new_theta(self): oscN, nH = 3, 3 kursl = KurslMethod(nH) params = np.random.random((oscN, oscN)) with self.assertRaises(ValueError) as error: kursl.set_prior(params) self.assertTrue("incorrect shape" in str(error.exception))
def test_set_prior_nondefault_setting(self): oscN, nH = 3, 3 kursl = KurslMethod(nH) params = np.random.random((oscN, 3 + nH * (oscN - 1))) kursl.set_prior(params) self.assertTrue(np.all(kursl.theta_init == params)) self.assertEqual(kursl.oscN, oscN) self.assertEqual(kursl.nH, nH) self.assertEqual(kursl.paramN, params.shape[1])
def test_set_prior_default_setting(self): "Sets priors for default kursl settings" kursl = KurslMethod() self.assertEqual(kursl.theta_init, None) oscN, nH = 3, 1 params = np.random.random((oscN, 3 + nH * (oscN - 1))) kursl.set_prior(params) self.assertTrue(np.all(kursl.theta_init == params), "Same array is expected")
def test_set_prior_incorrect_shape_update_theta(self): oscN, nH, paramN = 3, 1, 5 kursl = KurslMethod(nH) params = np.random.random((oscN, paramN)) kursl.set_prior(params) new_params = np.random.random((oscN, paramN + 2)) with self.assertRaises(ValueError) as error: kursl.set_prior(new_params) self.assertTrue("incorrect shape" in str(error.exception)) self.assertTrue(np.all(kursl.theta_init == params), "Unsuccessful update shouldn't modify theta")