-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest.py
56 lines (50 loc) · 2.2 KB
/
test.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
"""Nose tests for dropout class"""
from dropout import Dropout
import gapy
import nose
class TestDropout:
def setUp(self):
self.d = Dropout()
self.raw = {}
self.raw['results'] = {'completed': [[u'desktop', u'14452'],
[u'mobile', u'4073'],
[u'tablet', u'4287']],
'not_completed': [[u'desktop', u'30864'],
[u'mobile', u'11439'],
[u'tablet', u'9887']]}
self.processed = {}
self.processed['results'] = {'completed': {'desktop': 14452,
'mobile': 4073,
'tablet': 4287},
'not_completed': {'desktop': 30864,
'mobile': 11439,
'tablet': 9887}}
def test_convert_data_to_dict(self):
input = [[u'Amazon Silk', u'193'],
[u'Android Browser', u'1361'],
[u'BlackBerry', u'116']]
expected = {
'Amazon Silk': 193,
'Android Browser': 1361,
'BlackBerry': 116
}
results = self.d.convert_data_to_dict(input)
assert results == expected
def test_get_unique_keys(self):
'''
Get the unique keys across both sets of results.
'''
del self.processed['results']['completed']['mobile']
expected = [u'desktop', u'mobile', u'tablet']
results = self.d.get_unique_keys(self.processed)
assert results == expected
def test_remove_missing_data(self):
'''
Remove data with missing or low values.
'''
self.processed['results']['completed']['mobile'] = 0
self.processed['results']['not_completed']['wristwatch'] = 0
expected = {'completed': {'tablet': 4287, 'desktop': 14452},
'not_completed': {'tablet': 9887, 'desktop': 30864}}
results = self.d.remove_missing_data(self.processed)
assert results == expected