def test_simulator_2(): sim = Simulator() sim.spin_systems = [ SpinSystem( sites=[Site(isotope="1H"), Site(isotope="23Na")], couplings=[Coupling(site_index=[0, 1], isotropic_j=15)], ) ] sim.methods = [ BlochDecaySpectrum( channels=["1H"], spectral_dimensions=[{ "count": 10 }], experiment=cp.as_csdm(np.arange(10)), ) ] sim.name = "test" sim.label = "test0" sim.description = "testing-testing 1.2.3" sim.run() # save sim.save("test_sim_save.temp") sim_load = Simulator.load("test_sim_save.temp") sim_load_data = sim_load.methods[0].simulation sim_data = sim.methods[0].simulation sim_load_data._timestamp = "" assert sim_load_data.dict() == sim_data.dict() sim_load.methods[0].simulation = None sim.methods[0].simulation = None assert sim_load.spin_systems == sim.spin_systems assert sim_load.methods == sim.methods assert sim_load.name == sim.name assert sim_load.description == sim.description os.remove("test_sim_save.temp")
def test_simulator_1(): sim = Simulator() sim.spin_systems = [SpinSystem(sites=[Site(isotope="1H"), Site(isotope="23Na")])] sim.methods = [BlochDecaySpectrum(channels=["1H"])] sim.name = "test" sim.label = "test0" sim.description = "testing-testing 1.2.3" red_dict = sim.json(units=False) _ = [item.pop("description") for item in red_dict["methods"]] assert red_dict == { "name": "test", "label": "test0", "description": "testing-testing 1.2.3", "spin_systems": [ { "sites": [ {"isotope": "1H", "isotropic_chemical_shift": 0.0}, {"isotope": "23Na", "isotropic_chemical_shift": 0.0}, ], } ], "methods": [ { "channels": ["1H"], "name": "BlochDecaySpectrum", "magnetic_flux_density": 9.4, "rotor_angle": 0.9553166181245, "rotor_frequency": 0.0, "spectral_dimensions": [ { "count": 1024, "events": [{"transition_queries": [{"ch1": {"P": [-1]}}]}], "spectral_width": 25000.0, } ], } ], "config": { "decompose_spectrum": "none", "integration_density": 70, "integration_volume": "octant", "number_of_sidebands": 64, }, } # save sim.save("test_sim_save.temp") sim_load = Simulator.load("test_sim_save.temp") assert sim_load.spin_systems == sim.spin_systems assert sim_load.methods == sim.methods assert sim_load.name == sim.name assert sim_load.description == sim.description assert sim_load == sim # without units sim.save("test_sim_save_no_unit.temp", with_units=False) sim_load = Simulator.load("test_sim_save_no_unit.temp", parse_units=False) assert sim_load == sim os.remove("test_sim_save.temp") os.remove("test_sim_save_no_unit.temp")