def test_run(self): rww = ReducedWongWangNetwork(self.SC, self.DELAYS, seed=SEED) all_results = [] for backend, noise_func in BACKENDS_TO_TEST.items(): result = rww.run( DURATION, DT, noise_func(ZeroInput(rww.num_noise_variables), DURATION, DT), backend=backend, ) self.assertTrue(isinstance(result, xr.Dataset)) self.assertEqual(len(result), rww.num_state_variables / rww.num_nodes) self.assertTrue( all(result[result_].shape == (int(DURATION / DT), rww.num_nodes) for result_ in result)) all_results.append(result) # test results are the same from different backends for state_var in all_results[0]: corr_mat = np.corrcoef( np.vstack([ result[state_var].values.flatten().astype(float) for result in all_results ])) self.assertTrue(np.greater(corr_mat, CORR_THRESHOLD).all())
def test_init(self): rww = ReducedWongWangNetwork(self.SC, self.DELAYS) self.assertTrue(isinstance(rww, ReducedWongWangNetwork)) self.assertEqual(len(rww), self.SC.shape[0]) self.assertEqual(rww.initial_state.shape[0], rww.num_state_variables) self.assertEqual(rww.default_output, "S")