Mercurial > hg > vampy-host
comparison test/test_collect.py @ 117:2370b942cd32
Docs, make collect() return a dict so it can be more easily tested for shape, and rationalise some function naming etc
author | Chris Cannam |
---|---|
date | Wed, 17 Jun 2015 15:31:16 +0100 |
parents | 7f03d095a8b1 |
children | d3126719b094 |
comparison
equal
deleted
inserted
replaced
115:899095c8760f | 117:2370b942cd32 |
---|---|
21 # start at 1, not 0 so that all elts are non-zero | 21 # start at 1, not 0 so that all elts are non-zero |
22 return np.arange(n) + 1 | 22 return np.arange(n) + 1 |
23 | 23 |
24 def test_collect_runs_at_all(): | 24 def test_collect_runs_at_all(): |
25 buf = input_data(blocksize * 10) | 25 buf = input_data(blocksize * 10) |
26 step, results = vamp.collect(buf, rate, plugin_key, "input-timestamp") | 26 rdict = vamp.collect(buf, rate, plugin_key, "input-timestamp") |
27 step, results = rdict["vector"] | |
27 assert results != [] | 28 assert results != [] |
28 | 29 |
29 ##!!! add test for default output | 30 ##!!! add test for default output |
30 | 31 |
31 def test_collect_one_sample_per_step(): | 32 def test_collect_one_sample_per_step(): |
32 buf = input_data(blocksize * 10) | 33 buf = input_data(blocksize * 10) |
33 step, results = vamp.collect(buf, rate, plugin_key, "input-timestamp") | 34 rdict = vamp.collect(buf, rate, plugin_key, "input-timestamp") |
35 step, results = rdict["vector"] | |
34 assert abs(float(step) - (1024.0 / rate)) < eps | 36 assert abs(float(step) - (1024.0 / rate)) < eps |
35 assert len(results) == 10 | 37 assert len(results) == 10 |
36 for i in range(len(results)): | 38 for i in range(len(results)): |
37 # The timestamp should be the frame number of the first frame in the | 39 # The timestamp should be the frame number of the first frame in the |
38 # input buffer | 40 # input buffer |
40 actual = results[i] | 42 actual = results[i] |
41 assert actual == expected | 43 assert actual == expected |
42 | 44 |
43 def test_collect_fixed_sample_rate(): | 45 def test_collect_fixed_sample_rate(): |
44 buf = input_data(blocksize * 10) | 46 buf = input_data(blocksize * 10) |
45 step, results = vamp.collect(buf, rate, plugin_key, "curve-fsr") | 47 rdict = vamp.collect(buf, rate, plugin_key, "curve-fsr") |
48 step, results = rdict["vector"] | |
46 assert abs(float(step) - 0.4) < eps | 49 assert abs(float(step) - 0.4) < eps |
47 assert len(results) == 10 | 50 assert len(results) == 10 |
48 for i in range(len(results)): | 51 for i in range(len(results)): |
49 assert abs(results[i] - i * 0.1) < eps | 52 assert abs(results[i] - i * 0.1) < eps |
50 | 53 |
51 def test_collect_fixed_sample_rate_2(): | 54 def test_collect_fixed_sample_rate_2(): |
52 buf = input_data(blocksize * 10) | 55 buf = input_data(blocksize * 10) |
53 step, results = vamp.collect(buf, rate, plugin_key, "curve-fsr-timed") | 56 rdict = vamp.collect(buf, rate, plugin_key, "curve-fsr-timed") |
57 step, results = rdict["vector"] | |
54 assert abs(float(step) - 0.4) < eps | 58 assert abs(float(step) - 0.4) < eps |
55 assert len(results) == 10 | 59 assert len(results) == 10 |
56 for i in range(len(results)): | 60 for i in range(len(results)): |
57 assert abs(results[i] - i * 0.1) < eps | 61 assert abs(results[i] - i * 0.1) < eps |
58 | 62 |
59 def test_collect_variable_sample_rate(): | 63 def test_collect_variable_sample_rate(): |
60 buf = input_data(blocksize * 10) | 64 buf = input_data(blocksize * 10) |
61 results = vamp.collect(buf, rate, plugin_key, "curve-vsr") | 65 rdict = vamp.collect(buf, rate, plugin_key, "curve-vsr") |
66 results = rdict["list"] | |
62 assert len(results) == 10 | 67 assert len(results) == 10 |
63 i = 0 | 68 i = 0 |
64 for r in results: | 69 for r in results: |
65 assert r["timestamp"] == vamp.vampyhost.RealTime('seconds', i * 0.75) | 70 assert r["timestamp"] == vamp.vampyhost.RealTime('seconds', i * 0.75) |
66 assert abs(r["values"][0] - i * 0.1) < eps | 71 assert abs(r["values"][0] - i * 0.1) < eps |
67 i = i + 1 | 72 i = i + 1 |
68 | 73 |
69 def test_collect_grid_one_sample_per_step(): | 74 def test_collect_grid_one_sample_per_step(): |
70 buf = input_data(blocksize * 10) | 75 buf = input_data(blocksize * 10) |
71 step, results = vamp.collect(buf, rate, plugin_key, "grid-oss") | 76 rdict = vamp.collect(buf, rate, plugin_key, "grid-oss") |
77 step, results = rdict["matrix"] | |
72 assert abs(float(step) - (1024.0 / rate)) < eps | 78 assert abs(float(step) - (1024.0 / rate)) < eps |
73 assert len(results) == 10 | 79 assert len(results) == 10 |
74 for i in range(len(results)): | 80 for i in range(len(results)): |
75 expected = np.array([ (j + i + 2.0) / 30.0 for j in range(0, 10) ]) | 81 expected = np.array([ (j + i + 2.0) / 30.0 for j in range(0, 10) ]) |
76 assert (abs(results[i] - expected) < eps).all() | 82 assert (abs(results[i] - expected) < eps).all() |