Ejemplo n.º 1
0
    def test_returns_self(self):
        temp_fs = fsopendir('temp://')
        parent = MagicMock()
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        reader = HDFReader(parent, filename)
        self.assertEqual(reader, reader.__enter__())
Ejemplo n.º 2
0
 def test_raises_ValueError_if_file_like_given(self):
     temp_fs = fsopendir('temp://')
     parent = MagicMock()
     try:
         HDFReader(parent, temp_fs.open('temp.h5', 'w'))
         raise AssertionError('ValueError was not raised.')
     except ValueError:
         pass
Ejemplo n.º 3
0
    def test_closes_reader(self, fake_close):
        temp_fs = fsopendir('temp://')
        parent = MagicMock()
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        reader = HDFReader(parent, filename)
        reader.__exit__(None, None, None)
        fake_close.assert_called_once_with()
Ejemplo n.º 4
0
    def test_reads_meta_if_cache_is_empty(self, fake_read):
        temp_fs = fsopendir('temp://')
        parent = MagicMock()
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        reader = HDFReader(parent, filename)
        reader.meta
        self.assertEqual(len(fake_read.mock_calls), 1)
Ejemplo n.º 5
0
    def test_uses_cached_meta(self, fake_read):
        temp_fs = fsopendir('temp://')
        parent = MagicMock()
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        reader = HDFReader(parent, filename)
        reader._meta = {}
        reader.meta
        fake_read.assert_not_called()
Ejemplo n.º 6
0
    def test_contains_all_rows(self, fake_read):
        fake_read.return_value = {}
        temp_fs = fsopendir('temp://')
        parent = MagicMock()

        # save meta.about to the file.
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        # now read it from file.
        reader = HDFReader(parent, filename)
        raw_iter = reader.raw
        first = next(raw_iter)
        self.assertEqual(first, [0.0, 0.0, 0.0])
        self.assertTrue(reader._in_iteration)
        rows = list(raw_iter)
        self.assertEqual(len(rows), 4)
        self.assertFalse(reader._in_iteration)
Ejemplo n.º 7
0
    def test_generates_rows_as_RowProxy_instances(self):
        temp_fs = fsopendir('temp://')
        parent = MagicMock()
        filename = temp_fs.getsyspath('temp.h5')
        _create_h5(filename)

        reader = HDFReader(parent, filename)
        with patch.object(HDFReader, 'headers',
                          ['field1', 'field2', 'field3']):
            rows_iter = iter(reader)
            first = next(rows_iter)
            self.assertIsInstance(first, RowProxy)
            self.assertEqual(first.field1, 0.0)
            self.assertEqual(first.field2, 0.0)
            self.assertEqual(first.field3, 0.0)
            self.assertTrue(reader._in_iteration)

            rows = []
            for row in rows_iter:
                self.assertIsInstance(row, RowProxy)
                rows.append(row)
            self.assertEqual(len(rows), 4)
            self.assertFalse(reader._in_iteration)