Ejemplo n.º 1
0
def test_empty_docsets():
    """Test encode & decode an empty DocSet."""
    docset = sqlite_index.DocSet()
    encoded = docset.encode()
    docset2 = sqlite_index.DocSet.decode(encoded)
    assert docset == docset2
    assert len(docset) == 0
Ejemplo n.º 2
0
def test_create_doc_set():
    """Test creating a DocSet."""
    docset = sqlite_index.DocSet()
    data = {123: 12, 234: 1, 56: 5, 432: 9}
    for k, v in data.items():
        docset.append(k, v)
    assert len(data) == len(docset)
Ejemplo n.º 3
0
def test_repr_docset():
    """Test creating a DocSet."""
    docset = sqlite_index.DocSet()
    data = {123: 12, 234: 1, 56: 5, 432: 9}
    for k, v in data.items():
        docset.append(k, v)
    descript = str(docset)
    assert descript.index("len=") == len('<Docset: ')
    data = dict(list((k, k + 5) for k in range(1, 150)))
    docset2 = sqlite_index.DocSet()
    for k, v in data.items():
        docset2.append(k, v)
        docset2.append(k, v + 1)
    descript = str(docset2)
    assert descript.endswith("...>")
    assert len(descript.split(":")) - len(descript.split("|")) <= 2
Ejemplo n.º 4
0
def test_invalid_docset():
    """Test creating an invalid DocSet."""
    docset = sqlite_index.DocSet()
    data = {0: 255, 123: 12, 234: 1, 56: 5, 432: 9}
    for k, v in data.items():
        docset.append(k, v)
    with pytest.raises(ValueError) as _:
        docset.encode()
Ejemplo n.º 5
0
def test_encode_decode_docset():
    """Test encode & decode a DocSet."""
    docset = sqlite_index.DocSet()
    data = {123: 12, 234: 1, 56: 5, 432: 9}
    for k, v in data.items():
        docset.append(k, v)
        docset.append(k, v * 2)
    encoded = docset.encode()
    docset2 = sqlite_index.DocSet.decode(encoded)
    assert docset == docset2
Ejemplo n.º 6
0
def test_database():
    """Test database."""
    con = sqlite_index.open_connection(":memory:")
    sql = "CREATE TABLE DocSets (docset BLOB);"
    con.executescript(sql)
    docset = sqlite_index.DocSet()
    data = {123: 12, 234: 1, 56: 5, 432: 9}
    for k, v in data.items():
        docset.append(k, v)
    encoded = docset.encode()
    sql = "INSERT INTO DocSets (docset) VALUES (?);"
    con.execute(sql, [
        encoded,
    ])
    con.commit()
    sql = "SELECT docset FROM DocSets LIMIT 1"
    cur = con.cursor()
    cur.execute(sql)
    res = [row[0] for row in cur.fetchall()]
    assert len(res) == 1
    docset2 = sqlite_index.DocSet.decode(res[0])
    assert docset == docset2
Ejemplo n.º 7
0
def test_delta_encode_decode():
    """Test encoding and decoding something."""
    values = [1, 4, 7, 12, 34, 56, 72, 76, 80, 83]
    docset = sqlite_index.DocSet()
    encoded = docset.delta_encode(values)
    assert values == docset.delta_decode(encoded)