예제 #1
0
def test_no_covar(stat, clean_ui, setup_covar):
    "Test an exception is thrown if covar is not run"

    ui.set_stat(stat)
    with pytest.raises(SessionErr) as exc:
        ui.get_draws()

    assert NO_COVAR_MSG == str(exc.value)
예제 #2
0
def test_covar_wrong_stat(stat, clean_ui, setup_covar):
    "Test an exception is thrown is the proper stat is not set"

    ui.covar()
    ui.set_stat(stat)
    with pytest.raises(ValueError) as exc:
        ui.get_draws()

    assert WRONG_STAT_MSG.format(stat) == str(exc.value)
예제 #3
0
 def test_no_covar(self):
     for stat in self.right_stats:
         ui.set_stat(stat)
         try:
             ui.get_draws()
         except SessionErr as ve:
             self.assertEqual(self.no_covar_msg, str(ve))
             return
     self.fail(self.fail_msg)
예제 #4
0
def test_covar_wstat_no_background(clean_ui, setup_covar):
    "Test an exception is thrown when wstat is used without background"

    ui.covar()
    ui.set_stat("wstat")
    with pytest.raises(StatErr) as exc:
        ui.get_draws()

    assert WSTAT_ERR_MSG == str(exc.value)
예제 #5
0
 def test_covar_wstat_no_background(self):
     ui.covar()
     ui.set_stat("wstat")
     try:
         ui.get_draws()
     except StatErr as ve:
         self.assertEqual(self.wstat_err_msg, ve.message)
         return
     self.fail(self.fail_msg)
예제 #6
0
 def test_covar_wstat_no_background(self):
     ui.covar()
     ui.set_stat("wstat")
     try:
         ui.get_draws()
     except StatErr as ve:
         self.assertEqual(self.wstat_err_msg, str(ve))
         return
     self.fail(self.fail_msg)
예제 #7
0
 def test_no_covar(self):
     for stat in self.right_stats:
         ui.set_stat(stat)
         try:
             ui.get_draws()
         except SessionErr as ve:
             self.assertEqual(self.no_covar_msg, ve.message)
             return
     self.fail(self.fail_msg)
예제 #8
0
 def test_covar_wrong_stat(self):
     ui.covar()
     fail = False
     wrong_stats = set(ui.list_stats()) - self.right_stats
     for stat in wrong_stats:
         ui.set_stat(stat)
         try:
             ui.get_draws()
         except ValueError as ve:
             self.assertEqual(self.wrong_stat_msg.format(stat), str(ve))
             continue
         fail = True
         break
     if fail:
         self.fail(self.fail_msg)
예제 #9
0
 def test_covar_wrong_stat(self):
     ui.covar()
     fail = False
     wrong_stats = set(ui.list_stats()) - self.right_stats
     for stat in wrong_stats:
         ui.set_stat(stat)
         try:
             ui.get_draws()
         except ValueError as ve:
             self.assertEqual(self.wrong_stat_msg.format(stat), ve.message)
             continue
         fail = True
         break
     if fail:
         self.fail(self.fail_msg)
예제 #10
0
 def test_covar_as_none(self):
     for stat in self.right_stats - {'wstat'}:
         ui.set_stat(stat)
         ui.fit()
         ui.covar()
         niter = 10
         stat, accept, params = ui.get_draws(niter=niter)
         self.assertEqual(niter + 1, stat.size)
         self.assertEqual(niter + 1, accept.size)
         self.assertEqual((2, niter + 1), params.shape)
         self.assertTrue(numpy.any(accept))
예제 #11
0
 def test_covar_as_none(self):
     for stat in self.right_stats - {'wstat'}:
         ui.set_stat(stat)
         ui.fit()
         ui.covar()
         niter = 10
         stat, accept, params = ui.get_draws(niter=niter)
         self.assertEqual(niter+1, stat.size)
         self.assertEqual(niter+1, accept.size)
         self.assertEqual((2, niter+1), params.shape)
         self.assertTrue(numpy.any(accept))
예제 #12
0
 def test_covar_as_argument(self):
     for stat in self.right_stats - {'wstat'}:
         ui.set_stat(stat)
         ui.fit()
         matrix = [[0.00064075,  0.01122127], [0.01122127,  0.20153251]]
         niter = 10
         stat, accept, params = ui.get_draws(niter=niter, covar_matrix=matrix)
         self.assertEqual(niter+1, stat.size)
         self.assertEqual(niter+1, accept.size)
         self.assertEqual((2, niter+1), params.shape)
         self.assertTrue(numpy.any(accept))
예제 #13
0
파일: test_ui.py 프로젝트: wsf1990/sherpa
 def test_covar_as_argument(self):
     for stat in self.right_stats - {'wstat'}:
         ui.set_stat(stat)
         ui.fit()
         matrix = [[0.00064075, 0.01122127], [0.01122127, 0.20153251]]
         niter = 10
         stat, accept, params = ui.get_draws(niter=niter, covar_matrix=matrix)
         self.assertEqual(niter + 1, stat.size)
         self.assertEqual(niter + 1, accept.size)
         self.assertEqual((2, niter + 1), params.shape)
         self.assertTrue(numpy.any(accept))
예제 #14
0
def test_covar_as_none(stat, clean_ui, setup_covar):

    ui.set_stat(stat)
    ui.fit()
    ui.covar()

    niter = 10
    stat, accept, params = ui.get_draws(niter=niter)

    n = niter + 1
    assert stat.size == n
    assert accept.size == n
    assert params.shape == (2, n)
    assert np.any(accept)
예제 #15
0
def test_covar_as_argument(stat, clean_ui, setup_covar):

    ui.set_stat(stat)
    ui.fit()

    matrix = [[0.00064075, 0.01122127], [0.01122127, 0.20153251]]
    niter = 10
    stat, accept, params = ui.get_draws(niter=niter, covar_matrix=matrix)

    n = niter + 1
    assert stat.size == n
    assert accept.size == n
    assert params.shape == (2, n)
    assert np.any(accept)