コード例 #1
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_src_always_in_output(dest, src):
    try:
        merged = merge(dest, src)
    except ValueError:
        assume(False)

    src_paths = set(paths(src))
    merged_paths = set(paths(merged))

    for path in src_paths:
        assert path in merged_paths
        assert get(merged, path) == get(src, path)
コード例 #2
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_dest_in_merged_if_no_overwritten(dest, src):
    try:
        merged = merge(dest, src)
    except ValueError:
        assume(False)

    dest_paths = set(paths(dest))
    src_paths = set(paths(src))
    merged_paths = set(paths(merged))

    for path in dest_paths:
        if path not in src_paths:
            assert path in merged_paths
            assert get(merged, path) == get(dest, path)
コード例 #3
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_merge_returns_new_dict():
    dest = {}
    src = {}
    m = merge(dest, src)
    assert m is not dest
    assert m is not src
コード例 #4
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_incompatible_structures_raise_ValueError():
    with pytest.raises(ValueError):
        merge({'': 0}, {'': {}})

    with pytest.raises(ValueError):
        merge({'': {}}, {'': 0})
コード例 #5
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_empty_first(config):
    assert merge({}, config) == config
コード例 #6
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_empty_second(config):
    assert merge(config, {}) == config
コード例 #7
0
ファイル: test_merge.py プロジェクト: abingham/fitb
def test_merge_empty():
    assert merge({}, {}) == {}