-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathtest_adaptive_codebook.py
More file actions
38 lines (26 loc) · 1.2 KB
/
test_adaptive_codebook.py
File metadata and controls
38 lines (26 loc) · 1.2 KB
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
import unittest
from adaptive_codebook import AdaptiveCodebook
class AdaptiveCBTest(unittest.TestCase):
def test_empty(self):
cb_size = 20
vector_size = 10
ac = AdaptiveCodebook(vector_size=vector_size, cb_size=cb_size, min_period=5)
self.assertEqual(len(ac), cb_size)
for i in range(cb_size):
self.assertEqual(len(ac[i]), vector_size)
def test_values(self):
cb_size = 20
vector_size = 10
ac = AdaptiveCodebook(vector_size=vector_size, cb_size=cb_size, min_period=5)
ac.samples = range(-ac.max_period, 0)
self.assertEqual(ac[0], [-5, -4, -3, -2, -1, -5, -4, -3, -2, -1])
self.assertEqual(ac[1], [-6, -5, -4, -3, -2, -1, -6, -5, -4, -3])
self.assertEqual(ac[5], [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1])
self.assertEqual(ac[19], [-24, -23, -22, -21, -20, -19, -18, -17, -16, -15])
def test_add_vector(self):
cb_size = 30
vector_size = 10
ac = AdaptiveCodebook(vector_size=vector_size, cb_size=cb_size, min_period=5)
vector = [1]*vector_size
ac.add_vector(vector)
self.assertEqual(ac[0], vector[-ac.min_period:]+vector[-ac.min_period:])