-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_surveys.py
75 lines (57 loc) · 2.28 KB
/
test_surveys.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import json
import unittest
from surveys.your_solution import find_fake_surveys
def are_lists_equal_regardless_of_order(list1, list2):
"""
Little helper function to compare lists
"""
set1 = set(frozenset(item) for item in list1)
set2 = set(frozenset(item) for item in list2)
return set1 == set2
class TestFindFakeSurveys(unittest.TestCase):
@classmethod
def setUpClass(cls):
with open("data/surveys_small.json") as file:
cls.small = json.load(file)
cls.small_expected = [(123, 789)]
with open("data/surveys_medium.json") as file:
cls.medium = json.load(file)
cls.medium_expected = [(123, 456), (789, 1011)]
with open("data/surveys_large.json") as file:
cls.large = json.load(file)
cls.large_expected = [(123, 456), (789, 1011), (121314, 151617)]
with open("data/surveys_xl.json") as file:
cls.xl = json.load(file)
cls.xl_expected = [(123, 456), (789, 1011), (121314, 151617)]
def test_empty(self):
actual = find_fake_surveys([])
expected = []
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
def test_with_no_fake_surveys(self):
surveys = [
{
"tx_id": 123,
"name": "hello"
},
]
actual = find_fake_surveys(surveys)
expected = []
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
def test_small(self):
actual = find_fake_surveys(self.small)
expected = self.small_expected
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
def test_medium(self):
actual = find_fake_surveys(self.medium)
expected = self.medium_expected
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
def test_large(self):
actual = find_fake_surveys(self.large)
expected = self.large_expected
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
def test_xl(self):
actual = find_fake_surveys(self.xl)
expected = self.xl_expected
self.assertTrue(are_lists_equal_regardless_of_order(expected, actual))
if __name__ == '__main__':
unittest.main()