Exemple #1
0
def test_get_subject(nwbfile, set_none):
    sink = nwb2_sink.Nwb2Sink(None)
    sink.nwbfile = nwbfile
    if set_none:
        nwbfile.subject = None

    subject = sink._get_subject()
    subject.subject_id = "foo"
    assert nwbfile.subject.subject_id == "foo"
Exemple #2
0
def test_roundtrip(tmpdir_factory, nwbfile):
    tmpdir = str(tmpdir_factory.mktemp("test_serialize"))
    first_path = os.path.join(tmpdir, "first.nwb")
    second_path = os.path.join(tmpdir, "second.nwb")

    with pynwb.NWBHDF5IO(first_path, "w") as writer:
        writer.write(nwbfile)

    sink = nwb2_sink.Nwb2Sink(first_path)
    sink.register("institution", "AIBS")
    sink.serialize({"output_path": second_path})

    with pynwb.NWBHDF5IO(second_path, "r", load_namespaces=True) as reader:
        obt = reader.read()
        assert obt.institution == "AIBS"
Exemple #3
0
def test_register(
        tmpdir_factory, nwbfile, name, value, sweep_id, getter, expected
):
    tmpdir = tmpdir_factory.mktemp("test_register")
    path = os.path.join(str(tmpdir), "test.nwb")

    sink = nwb2_sink.Nwb2Sink(None)
    sink.nwbfile = nwbfile

    sink.register(name, value, sweep_id)

    with pynwb.NWBHDF5IO(path, "w") as writer:
        writer.write(nwbfile)

    with pynwb.NWBHDF5IO(path, "r") as reader:
        obt_nwb = reader.read()

    obtained = getter(obt_nwb)
    assert obtained == expected
Exemple #4
0
def test_serialize(tmpdir_factory, nwbfile):
    out_path = os.path.join(
        str(tmpdir_factory.mktemp("test_serialize")),
        "out.nwb"
    )

    sink = nwb2_sink.Nwb2Sink(None)
    sink._data = io.BytesIO()
    sink._h5_file = h5py.File(sink._data, "w")
    sink._nwb_io = pynwb.NWBHDF5IO(
        path=sink._h5_file.filename,
        mode="w",
        file=sink._h5_file
    )
    sink.nwbfile = nwbfile

    sink.serialize({"output_path": out_path})

    with pynwb.NWBHDF5IO(out_path, "r", load_namespaces=True) as reader:
        obt = reader.read()
        assert obt.identifier == "test session"
Exemple #5
0
def test_get_sweep_series(nwbfile):
    sink = nwb2_sink.Nwb2Sink(None)
    sink.nwbfile = nwbfile

    obt = sink._get_sweep_series(12)[0]
    assert np.allclose(obt.data[:], [1, 2, 3])
Exemple #6
0
def test_get_single_ic_electrode(nwbfile):
    sink = nwb2_sink.Nwb2Sink(None)
    sink.nwbfile = nwbfile

    obt = sink._get_single_ic_electrode()
    assert obt.name == "my_electrode"