[lint] Add lint and tests.
This commit is contained in:
83
tests/test_magic_dictionary.py
Normal file
83
tests/test_magic_dictionary.py
Normal file
@@ -0,0 +1,83 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
from simplex.magic_dictionary import magic_dictionary
|
||||
|
||||
|
||||
def test_basic():
|
||||
""" Tests that a non-customized magic_dictionary acts
|
||||
as a standard python dictionary. """
|
||||
|
||||
d = magic_dictionary()
|
||||
assert len(d) == 0
|
||||
|
||||
d["x"] = 1
|
||||
d["y"] = "2"
|
||||
|
||||
assert len(d) == 2
|
||||
assert d["x"] == 1
|
||||
assert d["y"] == "2"
|
||||
|
||||
# Test copy:
|
||||
d2 = magic_dictionary(d)
|
||||
assert len(d2) == 2
|
||||
assert d2["x"] == 1
|
||||
assert d2["y"] == "2"
|
||||
|
||||
# Test construction:
|
||||
d2 = magic_dictionary({"x": 1, "y": "2"})
|
||||
assert len(d2) == 2
|
||||
assert d2["x"] == 1
|
||||
assert d2["y"] == "2"
|
||||
|
||||
# Test construction:
|
||||
d2 = magic_dictionary(x=1, y="2")
|
||||
assert len(d2) == 2
|
||||
assert d2["x"] == 1
|
||||
assert d2["y"] == "2"
|
||||
|
||||
# Test construction:
|
||||
d2 = magic_dictionary((("x", 1), ("y", "2")))
|
||||
assert len(d2) == 2
|
||||
assert d2["x"] == 1
|
||||
assert d2["y"] == "2"
|
||||
|
||||
|
||||
def test_value_converter():
|
||||
""" Tests that conversion is correctly done. """
|
||||
|
||||
# Convert a value to its string representation:
|
||||
def converter(x):
|
||||
return str(x)
|
||||
|
||||
d = magic_dictionary(value_converter=converter)
|
||||
assert len(d) == 0
|
||||
|
||||
d["x"] = 2
|
||||
d["y"] = 3
|
||||
assert len(d) == 2
|
||||
assert d["x"] == "2"
|
||||
assert d["y"] == "3"
|
||||
|
||||
# Construction:
|
||||
d = magic_dictionary(d, value_converter=converter)
|
||||
assert len(d) == 2
|
||||
assert d["x"] == "2"
|
||||
assert d["y"] == "3"
|
||||
|
||||
# Construction:
|
||||
d = magic_dictionary({"x": 2, "y": 3}, value_converter=converter)
|
||||
assert len(d) == 2
|
||||
assert d["x"] == "2"
|
||||
assert d["y"] == "3"
|
||||
|
||||
# Construction:
|
||||
d = magic_dictionary(x=2, y=3, value_converter=converter)
|
||||
assert len(d) == 2
|
||||
assert d["x"] == "2"
|
||||
assert d["y"] == "3"
|
||||
|
||||
# Construction:
|
||||
d = magic_dictionary([("x", 2), ("y", 3)], value_converter=converter)
|
||||
assert len(d) == 2
|
||||
assert d["x"] == "2"
|
||||
assert d["y"] == "3"
|
Reference in New Issue
Block a user