from oasysdb.prelude import Record, Collection, Config, Database
NAME = "vectors" DIMENSION = 128
LEN = 100
def create_test_database(path: str) -> Database:
db = Database.new(path)
assert db.is_empty()
records = Record.many_random(dimension=DIMENSION, len=LEN)
config = Config.create_default()
collection = Collection.from_records(config, records)
db.save_collection(name=NAME, collection=collection)
assert not db.is_empty()
return db
def test_open():
db = Database(path="data/101")
assert db.is_empty()
def test_new():
db = create_test_database(path="data/102")
assert not db.is_empty()
assert db.len() == 1
def test_get_collection():
db = create_test_database(path="data/103")
collection = db.get_collection(name=NAME)
assert collection.len() == LEN
def test_save_collection():
db = create_test_database(path="data/104")
config = Config.create_default()
collection = Collection(config=config)
db.save_collection(name="test", collection=collection)
assert db.len() == 2
def test_delete_collection():
db = create_test_database(path="data/105")
db.delete_collection(name=NAME)
assert db.is_empty()