def test_sql_add_row_invalid(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') with assert_raises(TypeError): db.add_row('test', [1, 2, 3])
def test_sql_droptable(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) db.drop_table('test') assert_equal(db.table_names, []) with pytest.raises(KeyError): db['test']
def test_sql_set_item(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) db.set_item('test', 'a', 0, 10) db.set_item('test', 'b', 1, 'a') assert_equal(db.get_column('test', 'a').values, [10, 3, 5]) assert_equal(db.get_column('test', 'b').values, [2, 'a', 6])
def test_sql_add_row(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) assert_equal(db.get_column('test', 'a').values, [1, 3, 5]) assert_equal(db.get_column('test', 'b').values, [2, 4, 6]) assert_equal(len(db), 1) assert_equal(db.table_names, ['test'])
def test_sql_copy(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) db2 = db.copy() assert_equal(db2.table_names, ['test']) assert_equal(db2.column_names('test'), ['a', 'b']) assert_equal(db2.get_column('test', 'a').values, [1, 3, 5]) assert_equal(db2.get_column('test', 'b').values, [2, 4, 6])
def test_sql_set_column(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) db.set_column('test', 'a', [10, 20, 30]) db.set_column('test', 'b', [20, 40, 60]) assert_equal(db.get_column('test', 'a').values, [10, 20, 30]) assert_equal(db.get_column('test', 'b').values, [20, 40, 60]) with pytest.raises(KeyError): db.set_column('test', 'c', [10, 20, 30]) with pytest.raises(ValueError): db.set_column('test', 'a', [10, 20, 30, 40])
def test_sql_set_row(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, b=4)) db.add_row('test', dict(a=5, b=6)) db.set_row('test', 0, dict(a=10, b=20)) db.set_row('test', 1, dict(a=20, b=40)) db.set_row('test', 2, dict(a=30, b=60)) assert_equal(db.get_column('test', 'a').values, [10, 20, 30]) assert_equal(db.get_column('test', 'b').values, [20, 40, 60]) with pytest.raises(IndexError): db.set_row('test', 3, dict(a=10, b=20)) with pytest.raises(IndexError): db.set_row('test', -4, dict(a=10, b=20))
def test_sql_add_row_add_columns(self): db = SQLDatabase(':memory:') db.add_table('test') db.add_column('test', 'a') db.add_column('test', 'b') db.add_row('test', dict(a=1, b=2)) db.add_row('test', dict(a=3, c=4), add_columns=False) db.add_row('test', dict(a=5, d=6), add_columns=True) assert_equal(db.get_column('test', 'a').values, [1, 3, 5]) assert_equal(db.get_column('test', 'b').values, [2, None, None]) assert_equal(len(db), 1) assert_equal(db.table_names, ['test']) assert_equal(db.column_names('test'), ['a', 'b', 'd'])