comparison test/test_process_block.py @ 90:f364a62f9703

Rename
author Chris Cannam
date Mon, 26 Jan 2015 11:00:41 +0000
parents test/test_processBlock.py@a11b57e9fb0b
children 216ed5a72c36
comparison
equal deleted inserted replaced
89:1a08dd72f4d2 90:f364a62f9703
1
2 import vampyhost as vh
3 import numpy as np
4
5 plugin_key = "vamp-test-plugin:vamp-test-plugin"
6
7 rate = 44100
8
9 def test_load_unload():
10 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
11 plug.unload()
12 try:
13 plug.unload() # should throw but not crash
14 assert(False)
15 except AttributeError:
16 pass
17
18 def test_get_set_parameter():
19 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
20 value = plug.get_parameter_value("produce_output")
21 assert(value == 1.0)
22 plug.set_parameter_value("produce_output", 0.0)
23 value = plug.get_parameter_value("produce_output")
24 assert(value == 0.0)
25
26 def test_process_without_initialise():
27 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
28 try:
29 plug.process_block([[1,2,3,4]], vh.RealTime(0, 0))
30 assert False
31 except StandardError:
32 pass
33
34 def test_process_input_format():
35 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
36 plug.initialise(2, 4, 4) # channels, stepsize, blocksize
37 result = plug.process_block([[1,2,3,4],[5,6,7,8]], vh.RealTime(0, 0))
38 result = plug.process_block([np.array([1,2,3,4]),np.array([5,6,7,8])], vh.RealTime(0, 0))
39 result = plug.process_block(np.array([[1,2,3,4],[5,6,7,8]]), vh.RealTime(0, 0))
40 try:
41 # Wrong number of channels
42 result = plug.process_block(np.array([[1,2,3,4]]), vh.RealTime(0, 0))
43 assert False
44 except TypeError:
45 pass
46 try:
47 # Wrong number of samples per channel
48 result = plug.process_block(np.array([[1,2,3],[4,5,6]]), vh.RealTime(0, 0))
49 assert False
50 except TypeError:
51 pass
52 try:
53 # Differing numbers of samples per channel
54 result = plug.process_block(np.array([[1,2,3,4],[5,6,7]]), vh.RealTime(0, 0))
55 assert False
56 except TypeError:
57 pass
58
59 def test_process_output_1ch():
60 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
61 plug.initialise(1, 2, 2)
62 try:
63 # Too many channels
64 result = plug.process_block([[3,4],[5,6]], vh.RealTime(0, 0))
65 assert False
66 except TypeError:
67 pass
68 result = plug.process_block([[3,3]], vh.RealTime(0, 0))
69 assert result[8] == [ { "label" : "", "values" : np.array([5.0]) } ]
70 result = plug.process_block([[3,0]], vh.RealTime(0, 0))
71 assert result[8] == [ { "label" : "", "values" : np.array([4.0]) } ]
72
73 def test_process_output_2ch():
74 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
75 plug.initialise(2, 2, 2)
76 try:
77 # Too few channels
78 result = plug.process_block([[3,4]], vh.RealTime(0, 0))
79 assert False
80 except TypeError:
81 pass
82 try:
83 # Too many channels
84 result = plug.process_block([[3,4],[5,6],[7,8]], vh.RealTime(0, 0))
85 assert False
86 except TypeError:
87 pass
88 result = plug.process_block([[3,3],[4,4]], vh.RealTime(0, 0))
89 assert (result[8][0]["values"] == np.array([5.0,6.0])).all()
90 result = plug.process_block([[3,0],[4,0]], vh.RealTime(0, 0))
91 assert (result[8][0]["values"] == np.array([4.0,5.0])).all()
92
93 def test_process_output_3ch():
94 plug = vh.load_plugin(plugin_key, rate, vh.ADAPT_NONE)
95 plug.initialise(3, 2, 2)
96 try:
97 # Too few channels
98 result = plug.process_block([[3,4],[5,6]], vh.RealTime(0, 0))
99 assert False
100 except TypeError:
101 pass
102 try:
103 # Too many channels
104 result = plug.process_block([[3,4],[5,6],[7,8],[9,10]], vh.RealTime(0, 0))
105 assert False
106 except TypeError:
107 pass
108 result = plug.process_block([[3,3],[4,4],[5,5]], vh.RealTime(0, 0))
109 assert (result[8][0]["values"] == np.array([5.0,6.0,7.0])).all()
110 result = plug.process_block([[3,0],[4,0],[5,0]], vh.RealTime(0, 0))
111 assert (result[8][0]["values"] == np.array([4.0,5.0,6.0])).all()
112
113
114