Пример #1
0
    def test_write_simple(self, properties):
        """write/read a file with a single item of 30 frames"""
        nframes = 30
        f = np.random.randn(nframes, self.dim)
        t = np.linspace(0, 2, nframes)
        if properties:
            props = {'a': 0, 'b': 'b'}
        else:
            props = None

        h5f.simple_write(
            self.filename, 'group1', t, f,
            properties=props, item='item', mode='w')

        if properties:
            tr, fr, pr = h5f.read(self.filename, 'group1')
            assert list(pr.keys()) == ['item']
            assert pr['item'] == props
        else:
            tr, fr = h5f.read(self.filename, 'group1')

        assert list(tr.keys()) == ['item']
        assert list(fr.keys()) == ['item']
        assert len(tr['item']) == 30
        assert len(fr['item']) == 30
        # assert tr['item'] == t
        assert (fr['item'] == f).all()
Пример #2
0
    def test_write_simple(self):
        # write/read a file with a single item
        features_0 = np.random.randn(300, self.dim)
        times_0 = np.linspace(0, 2, 300)
        h5f.simple_write(self.filename, 'group1', times_0, features_0, 'item')
        t0, f0 = h5f.read(self.filename, 'group1')

        times_0_r, features_0_r = h5f.read(self.filename, 'group1')
        assert list(times_0_r.keys()) == ['item']
        assert list(features_0_r.keys ()) == ['item']
        assert all(times_0_r['item'] == times_0)
        assert (features_0_r['item'] == features_0).all()
Пример #3
0
    def test_read_works(self):
        fname = self.file_v1
        t1, f1 = h5f_1_0.read(fname, 'features')
        t2, f2 = h5f_1_1.read(fname, 'features')

        for tt1, tt2 in zip(t1,t2):
            assert tt1 == tt2
        for ff1, ff2 in zip(f1,f2):
            assert ff1 == ff2
Пример #4
0
 def test_write_simple(self):
     """write/read a file with a single item of 30 frames"""
     nframes = 30
     f = np.random.randn(nframes, self.dim)
     t = np.linspace(0, 2, nframes)
     h5f.simple_write(self.filename, 'group1', t, f, 'item')
     tr, fr = h5f.read(self.filename, 'group1')
     assert list(tr.keys()) == ['item']
     assert list(fr.keys()) == ['item']
     assert len(tr['item']) == 30
     assert len(fr['item']) == 30
     # assert tr['item'] == t
     assert (fr['item'] == f).all()
Пример #5
0
 def test_write_simple(self):
     """write/read a file with a single item of 30 frames"""
     nframes = 30
     f = np.random.randn(nframes, self.dim)
     t = np.linspace(0, 2, nframes)
     h5f.simple_write(self.filename, 'group1', t, f, 'item')
     tr, fr = h5f.read(self.filename, 'group1')
     assert list(tr.keys()) == ['item']
     assert list(fr.keys ()) == ['item']
     assert len(tr['item']) == 30
     assert len(fr['item']) == 30
     #assert tr['item'] == t
     assert (fr['item'] == f).all()
Пример #6
0
    def _test_wr(self, time_format):
        """Test retrieving times and files after a write/read operation."""
        items, t_gold, feat = generate.full(self.nbitems, tformat=time_format)
        write(self.filename, self.group, items, t_gold, feat)
        t, _ = read(self.filename, self.group)

        assert len(t) == self.nbitems
        if time_format == 2:
            assert all([tt.shape[1] == time_format for tt in t.values()])

        # build a dict from gold to compare with t
        d = {}
        for k, v in zip(items, t_gold): d[k] = v
        # compare the two dicts
        for dd, tt in zip(d, t): assert tt == dd
Пример #7
0
    def test_append(self):
        """Append a new item to an existing dataset."""
        i, t, f = generate.full(30, self.dim, 40, items_root='File')
        h5f.write(self.filename, 'group', i, t, f)

        # append new item to existing dataset
        features_added = np.zeros(shape=(1, self.dim))
        times_added = np.linspace(0, 2, 1)
        h5f.write(self.filename, 'group', ['File_31'],
                  [times_added], [features_added])

        with pytest.raises(IOError) as err:
            h5f.write(self.filename, 'group', ['File_3'],
                      [times_added], [features_added])
        assert 'data is not appendable to the group' in str(err.value)

        # read it
        times_r, features_r = h5f.read(self.filename, 'group')
        assert set(times_r.keys()) == set(i+['File_31'])
        assert set(features_r.keys()) == set(i+['File_31'])
        assert all(times_r['File_31'] == times_added)
        assert (features_r['File_31'] == features_added).all()
Пример #8
0
    def test_append(self):
        """Append a new item to an existing dataset."""
        i, t, f = generate.full(30, self.dim, 40, items_root='File')
        h5f.write(self.filename, 'group', i, t, f)

        # append new item to existing dataset
        features_added = np.zeros(shape=(1, self.dim))
        times_added = np.linspace(0, 2, 1)
        h5f.write(self.filename, 'group', ['File_31'], [times_added],
                  [features_added])

        with pytest.raises(IOError) as err:
            h5f.write(self.filename, 'group', ['File_3'], [times_added],
                      [features_added])
        assert 'data is not appendable to the group' in str(err.value)

        # read it
        times_r, features_r = h5f.read(self.filename, 'group')
        assert set(times_r.keys()) == set(i + ['File_31'])
        assert set(features_r.keys()) == set(i + ['File_31'])
        assert all(times_r['File_31'] == times_added)
        assert (features_r['File_31'] == features_added).all()
Пример #9
0
def test_raise_with_index():
    with pytest.raises(NotImplementedError):
        h5f.read('test.h5', index=0)