1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
import pytest
from util.algorithm import *
@pytest.fixture
def someData():
return {"a": 100, "b": 200, "c": [1, 2, 3]}
@pytest.fixture
def differentData():
return {"x": 20, "y": "bla", "z": ["a", "b"]}
@pytest.fixture
def moreData():
return {"n": 100}
@pytest.fixture
def overlapData():
return {"a": 200, "c": [1, 2, 4]}
def test_merge_with_empty(someData):
assert merge(someData, {}) == someData
assert merge(someData, None) == None
def test_merge_no_overwrite(someData, differentData):
result = merge(someData, differentData)
for k in someData:
assert someData[k] == result[k]
for k in self.differentData:
assert differentData[k] == result[k]
def test_merge_multiple(someData, differentData, moreData):
result = merge(someData, differentData, moreData)
for k in someData:
assert someData[k] == result[k]
for k in differentData:
assert differentData[k] == result[k]
for k in moreData:
assert moreData[k] == result[k]
def merge_overlap(someData, overlapData):
result = merge(someData, overlapData)
for k in someData:
if not k in self.overlapData:
assert someData[k] == result[k]
for k in self.overlapData:
assert overlapData[k] == result[k]
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|