Ejemplo n.º 1
0
def test_edge_cases():
    assert merge() == None
    assert merge(42) == 42
Ejemplo n.º 2
0
def test_merge_difftype():
    with pytest.raises(TypeError):
        merge(42, 'hello')
Ejemplo n.º 3
0
def test_hole():
    assert merge('hello {_}', 'world') == 'hello world'
    assert merge('world', 'hello {#}') == 'hello world'

    with pytest.raises(TypeError):
        merge('{_}', '{#}')
Ejemplo n.º 4
0
def test_merge_unknown():
    assert merge(object(), 42) == 42
    assert merge(None, 42) == 42
    assert merge(lambda: 42, 42) == 42
Ejemplo n.º 5
0
def test_merge_bool():
    assert merge(True, False) == False
Ejemplo n.º 6
0
def test_merge_string():
    assert merge('hello', 'world') == 'world'
Ejemplo n.º 7
0
def test_merge_dict3():
    a = dict(b=dict(c=[42]))
    b = dict(b=dict())
    assert merge(a, b) == dict(b={'c': [42]})
Ejemplo n.º 8
0
def test_merge_dict2():
    a = dict(a=42, b=[42])
    b = dict(b=[])
    assert merge(a, b) == dict(a=42, b=[42])