Completed
Push — master ( 8f71e0...468202 )
by Roy
01:20
created

tests.TestCounter   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %
Metric Value
dl 0
loc 22
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A test_010_TimebaseAverageEventCounter() 0 7 2
A test_020_delete() 0 13 1
1
#!/usr/bin/env python
2
# -*- encoding: utf-8 -*-
3
# vim: set et sw=4 ts=4 sts=4 ff=unix fenc=utf8:
4
# Author: Binux<[email protected]>
5
#         http://binux.me
6
# Created on 2015-04-05 00:05:58
7
8
import sys
9
import time
10
import unittest2 as unittest
11
12
from pyspider.libs import counter
13
14
class TestCounter(unittest.TestCase):
15
    def test_010_TimebaseAverageEventCounter(self):
16
        c = counter.TimebaseAverageEventCounter(2, 1)
17
        for i in range(100):
18
            time.sleep(0.1)
19
            c.event(100+i)
20
        self.assertEqual(c.sum, float(180+199)*20/2)
21
        self.assertEqual(c.avg, float(180+199)/2)
22
23
    def test_020_delete(self):
24
        c = counter.CounterManager()
25
        c.event(('a', 'b'), 1)
26
        c.event(('a', 'c'), 1)
27
        c.event(('b', 'c'), 1)
28
        
29
        self.assertIsNotNone(c['a'])
30
        self.assertIsNotNone(c['b'])
31
32
        del c['a']
33
34
        self.assertNotIn('a', c)
35
        self.assertIsNotNone(c['b'])
36