def test_check_retcodes(self): exe = os.path.join(DATAFILES_PATH, 'bernoulli' + EXTENSION) jdata = os.path.join(DATAFILES_PATH, 'bernoulli.data.json') sampler_args = SamplerArgs() cmdstan_args = CmdStanArgs( model_name='bernoulli', model_exe=exe, chain_ids=[1, 2, 3, 4], data=jdata, method_args=sampler_args, ) runset = RunSet(args=cmdstan_args, chains=4) self.assertIn('RunSet: chains=4', runset.__repr__()) self.assertIn('method=sample', runset.__repr__()) retcodes = runset._retcodes self.assertEqual(4, len(retcodes)) for i in range(len(retcodes)): self.assertEqual(-1, runset._retcode(i)) runset._set_retcode(0, 0) self.assertEqual(0, runset._retcode(0)) for i in range(1, len(retcodes)): self.assertEqual(-1, runset._retcode(i)) self.assertFalse(runset._check_retcodes()) for i in range(1, len(retcodes)): runset._set_retcode(i, 0) self.assertTrue(runset._check_retcodes())
def test_check_repr(self): exe = os.path.join(DATAFILES_PATH, 'bernoulli' + EXTENSION) jdata = os.path.join(DATAFILES_PATH, 'bernoulli.data.json') sampler_args = SamplerArgs() chain_ids = [1, 2, 3, 4] # default cmdstan_args = CmdStanArgs( model_name='bernoulli', model_exe=exe, chain_ids=chain_ids, data=jdata, method_args=sampler_args, ) runset = RunSet(args=cmdstan_args) self.assertIn('RunSet: chains=4', runset.__repr__()) self.assertIn('method=sample', runset.__repr__()) self.assertIn('retcodes=[-1, -1, -1, -1]', runset.__repr__()) self.assertIn('csv_files:', runset.__repr__()) self.assertNotIn('diagnostics_files:', runset.__repr__())