コード例 #1
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_merge_markets():
    defaults = {"namespace": fake.user_name(), "key": fake.md5()}
    device1, device2 = fake.uuid4(), fake.uuid4()
    market1 = Market(peers={device1: ChunkSet.empty(16).mark(1)}, **defaults)
    market2 = Market(
        peers={device1: ChunkSet.empty(16).mark(2), device2: ChunkSet.empty(16).mark(1)}, **defaults
    )
    market1.merge(market2)
    assert market1.peers[device1].has(1)
    assert market1.peers[device1].has(2)
    assert market1.peers[device2].has(1)
コード例 #2
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_serialize_market():
    market = Market(
        namespace=fake.user_name(), key=fake.md5(),
        peers={fake.uuid4(): ChunkSet(1, fake.binary(1)) for _ in range(1)},
    )
    data = market.dump()
    new_market = Market.load(data)
    assert market == new_market
コード例 #3
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_market_load_save(db):
    namespace = fake.user_name()
    key = fake.md5()

    market1 = Market(
        namespace=namespace, key=key,
        peers={fake.uuid4(): ChunkSet(1, fake.binary(1)) for _ in range(1)},
    )
    market1.exchange_with_db()
    market2 = Market(
        namespace=namespace, key=key,
        peers={fake.uuid4(): ChunkSet(1, fake.binary(1)) for _ in range(1)},
    )
    market2.exchange_with_db()
    market3 = Market.load_from_db(namespace, key)

    assert market2 == market3
    assert len(market2.peers) == 2
コード例 #4
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_pick_random(marked, result):
    chunk_set = ChunkSet.empty(16)
    for i in marked:
        chunk_set = chunk_set.mark(i)
    assert (chunk_set.pick_random() in marked) == result
コード例 #5
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_diff_chunks():
    cs = ChunkSet.empty(16).mark(1).mark(2).diff(ChunkSet.empty(16).mark(2))
    assert cs.has(1)
    assert not cs.has(2)
コード例 #6
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_merge_chunks_different_sizes():
    cs = ChunkSet.empty(8).mark(1).merge(ChunkSet.empty(16).mark(8))
    assert cs.has(1)
    assert cs.has(8)
コード例 #7
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_merge_chunks():
    cs = ChunkSet.empty(16).mark(1).merge(ChunkSet.empty(16).mark(2))
    assert cs.has(1)
    assert cs.has(2)
コード例 #8
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_chunk_available(marked, position, result):
    chunk_set = ChunkSet.empty(16)
    for i in marked:
        chunk_set = chunk_set.mark(i)
    assert chunk_set.has(position) == result
コード例 #9
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_create_full_chunks_set():
    chunk_set = ChunkSet.full(10)
    assert chunk_set.has_all()
コード例 #10
0
ファイル: test_market.py プロジェクト: YAtOff/lansync
def test_create_empty_chunks_set():
    chunk_set = ChunkSet.empty(10)
    assert not any(chunk_set.has(i) for i in range(10))