70 lines
1.7 KiB
Python
70 lines
1.7 KiB
Python
"""Tests for the skeleton module."""
|
|
from app.skeleton import merge
|
|
|
|
|
|
def test_merge_empty():
|
|
"""Test correct response for an empty merge."""
|
|
assert merge() == {}
|
|
|
|
|
|
def test_merge_single():
|
|
"""Test merge command with a single input."""
|
|
assert merge({}) == {}
|
|
|
|
dic = {"test": "value", "test2": "value2"}
|
|
|
|
assert merge(dic) == dic
|
|
|
|
|
|
def test_merge_double_no_overlap():
|
|
"""Test merge command with two non-overlapping inputs."""
|
|
d1 = {"test": "value", "test2": "value2"}
|
|
d2 = {"test3": "value3"}
|
|
d_res = {"test": "value", "test2": "value2", "test3": "value3"}
|
|
|
|
assert merge(d1, d2) == d_res
|
|
|
|
|
|
def test_merge_double_overlap():
|
|
"""Test merge command with two overlapping inputs."""
|
|
d1 = {"test": "value", "test2": "value2"}
|
|
d2 = {"test2": "value3"}
|
|
d_res = {"test": "value", "test2": "value3"}
|
|
|
|
assert merge(d1, d2) == d_res
|
|
|
|
|
|
def test_merge_triple_no_overlap():
|
|
"""Test merge command with three non-overlapping inputs.
|
|
|
|
This test tells us that the recursion works.
|
|
"""
|
|
d1 = {"test": "value", "test2": "value2"}
|
|
d2 = {"test3": "value3"}
|
|
d3 = {"test4": "value4"}
|
|
d_res = {
|
|
"test": "value",
|
|
"test2": "value2",
|
|
"test3": "value3",
|
|
"test4": "value4",
|
|
}
|
|
|
|
assert merge(d1, d2, d3) == d_res
|
|
|
|
|
|
def test_merge_triple_overlap():
|
|
"""Test merge command with three overlapping inputs.
|
|
|
|
This test tells us that the recursion works.
|
|
"""
|
|
d1 = {"test": "value", "test2": "value2"}
|
|
d2 = {"test3": "value3"}
|
|
d3 = {"test2": "value4"}
|
|
d_res = {
|
|
"test": "value",
|
|
"test2": "value4",
|
|
"test3": "value3",
|
|
}
|
|
|
|
assert merge(d1, d2, d3) == d_res
|