示例#1
0
def instances_of_data_class_are_not_equal_iff_any_fields_have_different_values():
    User = dictobj.data_class("User", ["username", "password"])
    
    assert not (User("bob", "password1") != User("bob", "password1"))
    assert User("jim", "password1") != User("bob", "password1")
    assert User("bob", "password1") != User("bob", "password2")
    assert User("jim", "password1") != User("bob", "password2")
示例#2
0
def instances_of_data_class_are_not_equal_to_other_types():
    User = dictobj.data_class("User", ["username", "password"])
    
    assert not (User("bob", "password1") == "bob")
    assert not ("bob" == User("bob", "password1"))
    assert User("bob", "password1") != "bob"
    assert "bob" != User("bob", "password1")
示例#3
0
def instances_of_data_class_are_equal_iff_all_fields_have_the_same_value():
    User = dictobj.data_class("User", ["username", "password"])
    
    assert User("bob", "password1") == User("bob", "password1")
    assert not (User("jim", "password1") == User("bob", "password1"))
    assert not (User("bob", "password1") == User("bob", "password2"))
    assert not (User("jim", "password1") == User("bob", "password2"))
示例#4
0
def conversion_from_dict_to_obj_uses_items_as_constructor_args():
    User = dictobj.data_class("User", ["username", "password"])
    
    input_dict = {"username": "******", "password": "******"}
    converted_user = dictobj.dict_to_obj(input_dict, User)
    
    expected_user = User("bob", "password1")
    assert_equal(expected_user, converted_user)
示例#5
0
def conversion_from_obj_to_dict_converts_underscores_to_camel_case():
    User = dictobj.data_class("User", ["is_root"])
    
    input_user = User(is_root=True)
    result = dictobj.obj_to_dict(input_user)
    
    expected_dict = {"isRoot": True}
    assert_equal(expected_dict, result)
示例#6
0
def conversion_from_obj_to_dict_uses_hacktastic_fields_property():
    User = dictobj.data_class("User", ["username", "password"])
    
    user = User("bob", "password1")
    result = dictobj.obj_to_dict(user)
    
    expected_dict = {"username": "******", "password": "******"}
    assert_equal(expected_dict, result)
示例#7
0
def unrecognised_fields_are_ignored():
    User = dictobj.data_class("User", ["username"])
    
    input_dict = {"username": "******", "password": "******"}
    converted_user = dictobj.dict_to_obj(input_dict, User)
    
    expected_user = User("bob")
    assert_equal(expected_user, converted_user)
示例#8
0
def arguments_with_camelcase_names_are_converted_to_use_underscores():
    User = dictobj.data_class("User", ["is_root"])
    
    input_dict = {"isRoot": True}
    converted_user = dictobj.dict_to_obj(input_dict, User)
    
    expected_user = User(is_root=True)
    assert_equal(expected_user, converted_user)
示例#9
0
def converting_object_to_dict_preserves_ordering():
    User = dictobj.data_class("User", [
        "username", "salt", "password", "email_address"
    ])
    
    user = User("bob", "!%ksdg", "password1", "*****@*****.**")
    result = dictobj.obj_to_dict(user)
    
    assert_equal(["username", "salt", "password", "emailAddress"], result.keys())