Skip to content
This repository was archived by the owner on Oct 23, 2024. It is now read-only.

Commit 7558e84

Browse files
committed
Adding tests
1 parent 7c9a8bc commit 7558e84

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

objectrocket/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def sum_values(value1, value2):
8686
elif isinstance(value1, str) or isinstance(value1, datetime.datetime) or isinstance(value1, six.text_type): # noqa
8787
return value1
8888
elif isinstance(value1, dict):
89-
keys = set(value1.iterkeys()) | set(value2.iterkeys())
89+
keys = set(six.iterkeys(value1)) | set(six.iterkeys(value2))
9090
return dict((key, sum_values(value1.get(key), value2.get(key))) for key in keys)
9191
else:
9292
return value1 + value2

tests/test_utils.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import pytest
2+
from objectrocket import util
3+
4+
5+
@pytest.mark.parametrize("values,expected",
6+
[((None, 1), 1),
7+
((1, None), 1),
8+
((1, 1), 2)])
9+
def test_sum_values_integers(values, expected):
10+
assert util.sum_values(*values) == expected
11+
12+
13+
def test_sum_values_fails_different_types():
14+
with pytest.raises(TypeError) as ex:
15+
util.sum_values(1, 'test')
16+
assert 'are not of the same type' in str(ex)
17+
18+
19+
def test_sum_values_succeed_different_number_types():
20+
assert util.sum_values(1, 2.3) == 3
21+
22+
23+
def test_sum_values_succeeds_list():
24+
assert util.sum_values([2, 3], [1, 2]) == [1, 2, 3]
25+
26+
27+
def test_sum_values_succeeds_dict():
28+
assert util.sum_values({"one": 1}, {"two": 2}) == {'one': 1, 'two': 2}

0 commit comments

Comments
 (0)