Пример #1
0
 def test_into(self):
     with filetext('1,1\n2,2', extension='.csv') as a:
         with tmpfile(extension='.csv') as b:
             A = resource(a, schema='{x: int, y: int}')
             B = resource(b, schema='{x: int, y: int}', mode='a')
             B = into(B, A)
             assert into(list, B) == [(1, 1), (2, 2)]
Пример #2
0
 def test_into(self):
     with filetext('1,1\n2,2', extension='.csv') as a:
         with tmpfile(extension='.csv') as b:
             A = resource(a, schema='{x: int, y: int}')
             B = resource(b, schema='{x: int, y: int}', mode='a')
             B = into(B, A)
             assert into(list, B) == [(1, 1), (2, 2)]
Пример #3
0
def test_create_index_uri():
    from blaze.data.csv import drop
    with tmpfile(extension='.db') as fn:
        uri = 'sqlite:///%s::table' % fn
        sql = resource(uri, schema='{x: int, y: int}')
        create_index(uri, 'x', name='x_index')
        sql = resource(uri, schema='{x: int, y: int}')

        assert list(list(sql.table.indexes)[0].columns)[0].name == 'x'
Пример #4
0
def test_create_index_uri():
    from blaze.data.csv import drop
    with tmpfile(extension='.db') as fn:
        uri = 'sqlite:///%s::table' % fn
        sql = resource(uri, schema='{x: int, y: int}')
        create_index(uri, 'x', name='x_index')
        sql = resource(uri, schema='{x: int, y: int}')

        assert list(list(sql.table.indexes)[0].columns)[0].name == 'x'
Пример #5
0
 def test_resource_gz(self):
     with filetext(b'1,1\n2,2\n', extension='.csv.gz', open=gzip.open,
                   mode='wb') as fn:
         dd = resource(fn, schema='{x: int, y: int}')
         assert isinstance(dd, CSV)
         assert dd.open == gzip.open
         assert into(list, dd) == [(1, 1), (2, 2)]
Пример #6
0
 def test_filesystem(self):
     prefix = 'test_filesystem'
     d = {prefix + 'a.csv': '1,1\n2,2',
          prefix + 'b.csv': '1,1\n2,2'}
     with filetexts(d) as filenames:
         dd = resource(prefix + '*.csv', schema='{x: int, y: int}')
         self.assertEqual(into(list, dd),
                         [(1, 1), (2, 2), (1, 1), (2, 2)])
Пример #7
0
 def test_resource_gz(self):
     with filetext(b'1,1\n2,2\n',
                   extension='.csv.gz',
                   open=gzip.open,
                   mode='wb') as fn:
         dd = resource(fn, schema='{x: int, y: int}')
         assert isinstance(dd, CSV)
         assert dd.open == gzip.open
         assert into(list, dd) == [(1, 1), (2, 2)]
Пример #8
0
 def test_resource_csv(self):
     with filetext('1,1\n2,2', extension='.csv') as fn:
         dd = resource(fn, schema='{x: int, y: int}')
         assert isinstance(dd, CSV)
         self.assertEqual(into(list, dd), [(1, 1), (2, 2)])
Пример #9
0
def test_resource_different_csv_schemas():
    files = {'foobar_a.csv': '1.0,1\n2.0,2',
             'foobar_b.csv': '3,3\n4,4'}
    with filetexts(files):
        r = resource('foobar_*.csv')
        assert r.data[0].schema == r.data[1].schema
Пример #10
0
def test_resource_csv():
    files = {'accounts_1.csv': '1,Alice,100\n2,Bob,200'}
    with filetexts(files):
        assert isinstance(resource('accounts_1.csv'), CSV)
Пример #11
0
 def test_hdf5(self):
     with tmpfile('.hdf5') as filename:
         assert isinstance(resource(filename + '::/path/to/data/',
                                    schema='{a: int, b: int}'),
                           HDF5)
Пример #12
0
 def test_hdf5(self):
     with tmpfile('.hdf5') as filename:
         assert isinstance(resource(filename + '::/path/to/data/',
                                    dshape='var * {a: int, b: int}'),
                           h5py.Dataset)
Пример #13
0
 def test_sql(self):
     with tmpfile('.db') as filename:
         assert isinstance(resource('sqlite:///%s::tablename' % filename,
                                    dshape='var * {x: int, y: int}'),
                           sqlalchemy.Table)
Пример #14
0
def test_resource_different_csv_schemas():
    files = {'foobar_a.csv': '1.0,1\n2.0,2', 'foobar_b.csv': '3,3\n4,4'}
    with filetexts(files):
        r = resource('foobar_*.csv')
        assert r.data[0].schema == r.data[1].schema
Пример #15
0
 def test_hdf5(self):
     with tmpfile('.hdf5') as filename:
         assert isinstance(
             resource(filename + '::/path/to/data/',
                      schema='{a: int, b: int}'), HDF5)
Пример #16
0
 def test_sql(self):
     with tmpfile('.db') as filename:
         assert isinstance(
             resource('sqlite:///%s::tablename' % filename,
                      schema='{x: int, y: int}'), SQL)
Пример #17
0
 def test_filesystem(self):
     prefix = 'test_filesystem'
     d = {prefix + 'a.csv': '1,1\n2,2', prefix + 'b.csv': '1,1\n2,2'}
     with filetexts(d) as filenames:
         dd = resource(prefix + '*.csv', schema='{x: int, y: int}')
         self.assertEqual(into(list, dd), [(1, 1), (2, 2), (1, 1), (2, 2)])
Пример #18
0
def test_resource_csv():
    files = {'accounts_1.csv': '1,Alice,100\n2,Bob,200'}
    with filetexts(files):
        assert isinstance(resource('accounts_1.csv'), CSV)
Пример #19
0
 def test_sql(self):
     with tmpfile('.db') as filename:
         assert isinstance(resource('sqlite:///%s::tablename' % filename,
                                    schema='{x: int, y: int}'),
                           SQL)
Пример #20
0
def test_resource(conn):
    coll = resource('mongodb://localhost:27017/db::mycoll')
    assert coll.name == 'mycoll'
    assert coll.database.name == 'db'
    assert coll.database.connection.host == 'localhost'
    assert coll.database.connection.port == 27017
Пример #21
0
def test_resource(conn):
    coll = resource('mongodb://localhost:27017/db::mycoll')
    assert coll.name == 'mycoll'
    assert coll.database.name == 'db'
    assert coll.database.connection.host == 'localhost'
    assert coll.database.connection.port == 27017
Пример #22
0
 def test_resource_csv(self):
     with filetext('1,1\n2,2', extension='.csv') as fn:
         dd = resource(fn, schema='{x: int, y: int}')
         assert isinstance(dd, CSV)
         self.assertEqual(into(list, dd), [(1, 1), (2, 2)])