示例#1
0
def test_user_config_nested():
    v1 = BackendVersion("1", [{"1": "2"}, {"1": "2"}])
    v2 = BackendVersion("1", [{"1": "2"}, {"1": "2"}])
    v3 = BackendVersion("1", [{"1": "2"}, {"1": "3"}])

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#2
0
def test_user_config_nested_in_hashable():
    v1 = BackendVersion("1", ([{"1": "2"}, {"1": "2"}], ))
    v2 = BackendVersion("1", ([{"1": "2"}, {"1": "2"}], ))
    v3 = BackendVersion("1", ([{"1": "2"}, {"1": "3"}], ))

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#3
0
def test_user_config_list():
    v1 = BackendVersion("1", ["1", "2"])
    v2 = BackendVersion("1", ["1", "2"])
    v3 = BackendVersion("1", ["1", "3"])

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#4
0
def test_user_config_dict_vals():
    v1 = BackendVersion("1", {"1": "1"})
    v2 = BackendVersion("1", {"1": "1"})
    v3 = BackendVersion("1", {"1": "2"})

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#5
0
def test_user_config_hashable():
    v1 = BackendVersion("1", ("1", "2"))
    v2 = BackendVersion("1", ("1", "2"))
    v3 = BackendVersion("1", ("1", "3"))

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#6
0
def test_user_config_basic():
    v1 = BackendVersion("1", "1")
    v2 = BackendVersion("1", "1")
    v3 = BackendVersion("1", "2")

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#7
0
def test_code_version():
    v1 = BackendVersion("1", None)
    v2 = BackendVersion("1", None)
    v3 = BackendVersion("2", None)

    assert v1 == v2
    assert hash(v1) == hash(v2)
    assert v1 != v3
    assert hash(v1) != hash(v3)
示例#8
0
def test_validation():
    # Code version must be a string.
    with pytest.raises(TypeError):
        BackendVersion(123, None)

    # Can't pass unhashable type as user config.
    with pytest.raises(TypeError):
        BackendVersion(123, set())

    # Can't pass nested unhashable type as user config.
    with pytest.raises(TypeError):
        BackendVersion(123, {"set": set()})
示例#9
0
 def get_version():
     return BackendVersion("1", ([{"1": "2"}, {"1": "2"}], ))