]> code.communitydata.science - rises_declines_wikia_code.git/blob - mediawiki_dump_tools/Mediawiki-Utilities/mw/lib/sessions/tests/test_functions.py
Initial commit
[rises_declines_wikia_code.git] / mediawiki_dump_tools / Mediawiki-Utilities / mw / lib / sessions / tests / test_functions.py
1 from itertools import chain
2
3 from nose.tools import eq_
4 from .. import defaults
5 from ..functions import sessions
6
7
8 EVENTS = {
9     "foo": [
10         [
11             ("foo", 1234567890, 1),
12             ("foo", 1234567892, 2),
13             ("foo", 1234567894, 3)
14         ],
15         [
16             ("foo", 1234567894 + defaults.CUTOFF, 4),
17             ("foo", 1234567897 + defaults.CUTOFF, 5)
18         ]
19     ],
20     "bar": [
21         [
22             ("bar", 1234567891, 6),
23             ("bar", 1234567892, 7),
24             ("bar", 1234567893, 8)
25         ],
26         [
27             ("bar", 1234567895 + defaults.CUTOFF, 9),
28             ("bar", 1234567898 + defaults.CUTOFF, 0)
29         ]
30     ]
31 }
32
33
34 def test_group_events():
35     events = []
36     events.extend(chain(*EVENTS['foo']))
37     events.extend(chain(*EVENTS['bar']))
38
39     events.sort()
40
41     user_sessions = sessions(events)
42
43     counts = {
44         'foo': 0,
45         'bar': 0
46     }
47
48     for user, session in user_sessions:
49         eq_(list(e[2] for e in EVENTS[user][counts[user]]), list(session))
50         counts[user] += 1

Community Data Science Collective || Want to submit a patch?