예제 #1
0
 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))
예제 #2
0
 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])
예제 #3
0
 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")
예제 #4
0
    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")