52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
import matchy.util as util
|
|
|
|
|
|
def test_iterate_all_shifts():
|
|
original = [1, 2, 3, 4]
|
|
lists = [val for val in util.iterate_all_shifts(original)]
|
|
assert lists == [
|
|
[1, 2, 3, 4],
|
|
[2, 3, 4, 1],
|
|
[3, 4, 1, 2],
|
|
[4, 1, 2, 3],
|
|
]
|
|
|
|
|
|
def test_get_nested_dict_value():
|
|
d = {
|
|
"x": {
|
|
"y": {
|
|
"z": {
|
|
"val": 42
|
|
}
|
|
}
|
|
}
|
|
}
|
|
assert 42 == util.get_nested_value(d, "x", "y", "z", "val")
|
|
assert 16 == util.get_nested_value(d, "x", "y", "z", "vol", default=16)
|
|
|
|
|
|
def test_set_nested_dict_value():
|
|
d = {
|
|
"x": {
|
|
"y": {
|
|
"z": {
|
|
"val": 42
|
|
}
|
|
}
|
|
}
|
|
}
|
|
util.set_nested_value(d, "x", "y", "z", "val", value=52)
|
|
assert 52 == util.get_nested_value(d, "x", "y", "z", "val")
|
|
|
|
|
|
def test_randomized():
|
|
|
|
def string():
|
|
return "foo"
|
|
|
|
def list():
|
|
return ["foo", "bar"]
|
|
|
|
assert util.randomised(string)() == "foo"
|
|
assert util.randomised(list)() in list()
|