def test_get_count_without_update(self): """Example from chapter 4 of "Mining of Massing Datasets""" crt_timestamp = 65 # hand built dgim queues = [ deque([crt_timestamp - 1, crt_timestamp - 2]), deque([crt_timestamp - 4]), deque([crt_timestamp - 8]), deque() ] dgim = Dgim(10) dgim._timestamp = crt_timestamp dgim._queues = queues self.assertEquals(6, dgim.get_count())
def test_bucket_drop(self): crt_timestamp = 65 # hand built dgim queues = [ deque([crt_timestamp - 1, crt_timestamp - 2]), deque([crt_timestamp - 4]), deque() ] dgim = Dgim(6) dgim._timestamp = crt_timestamp dgim._queues = queues dgim._oldest_bucket_timestamp = crt_timestamp - 4 self.assertEquals(3, dgim.nb_buckets) dgim.update(0) self.assertEquals(3, dgim.nb_buckets) dgim.update(0) self.assertEquals(2, dgim.nb_buckets)