def test_marshal_simulation(): from dipde.examples.excitatory_inhibitory import get_network simulation_configuration_full = SimulationConfiguration(dt=.001, tf=.02, t0=0) simulation_configuration_p1 = SimulationConfiguration(dt=.001, tf=.01, t0=0) simulation_configuration_p2 = SimulationConfiguration(dt=.001, tf=.01, t0=0) # Run full simulation: simulation_full = Simulation(network=get_network(), simulation_configuration=simulation_configuration_full) assert simulation_full.completed == False simulation_full.run() assert simulation_full.completed == True # Run simulation, part 1: simulation_p1 = Simulation(network=get_network(), simulation_configuration=simulation_configuration_p1) simulation_p1.run() s_midway = simulation_p1.to_json() # Run simulation, part 2: simulation_p2 = Simulation(**json.loads(s_midway)) simulation_p2.simulation_configuration = simulation_configuration_p2 simulation_p2.run() # Run copy half way, round trip, and then finish: # Compare: y1 = simulation_full.network.population_list[1].firing_rate_record y2 = simulation_p2.network.population_list[1].firing_rate_record assert len(y1) == len(y2) for y1i, y2i in zip(y1, y2): np.testing.assert_almost_equal(y1i, y2i, 12) simulation_full.to_json(StringIO.StringIO())
def test_json_network(): from dipde.examples.excitatory_inhibitory import get_network network = get_network() network.to_json() network.to_json(StringIO.StringIO())