diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-11-04 19:57:17 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-11-04 19:57:17 +0000 |
| commit | b7466a9653345bc51db4cb1d7e960bfc4c12721f (patch) | |
| tree | 1de42bc7c5973cecfdedc93d95671fdc7096be68 /test | |
| parent | fe4e160ba2df273e8e065d0d12411eba35b00ebf (diff) | |
| parent | c2dc03da9cc94fd9bd7e530363b113564237f00e (diff) | |
Fix merge; other tweaks.
Diffstat (limited to 'test')
| -rw-r--r-- | test/test.cc | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/test/test.cc b/test/test.cc index a1a8c9cf3..d1286dd76 100644 --- a/test/test.cc +++ b/test/test.cc @@ -178,10 +178,10 @@ BOOST_AUTO_TEST_CASE (dvd_test) } void -do_positive_delay_line_test (int delay_length, int block_length) +do_positive_delay_line_test (int delay_length, int data_length) { - DelayLine d (delay_length); - uint8_t data[block_length]; + DelayLine d (6, delay_length); + shared_ptr<AudioBuffers> data (new AudioBuffers (6, data_length)); int in = 0; int out = 0; @@ -189,64 +189,66 @@ do_positive_delay_line_test (int delay_length, int block_length) int zeros = 0; for (int i = 0; i < 64; ++i) { - for (int j = 0; j < block_length; ++j) { - data[j] = in; - ++in; + for (int j = 0; j < data_length; ++j) { + for (int c = 0; c < 6; ++c ) { + data->data(c)[j] = in; + ++in; + } } - int const a = d.feed (data, block_length); - returned += a; + d.feed (data); + returned += data->frames (); - for (int j = 0; j < a; ++j) { + for (int j = 0; j < data->frames(); ++j) { if (zeros < delay_length) { - BOOST_CHECK_EQUAL (data[j], 0); + for (int c = 0; c < 6; ++c) { + BOOST_CHECK_EQUAL (data->data(c)[j], 0); + } ++zeros; } else { - BOOST_CHECK_EQUAL (data[j], out & 0xff); - ++out; + for (int c = 0; c < 6; ++c) { + BOOST_CHECK_EQUAL (data->data(c)[j], out); + ++out; + } } } } - BOOST_CHECK_EQUAL (returned, 64 * block_length); + BOOST_CHECK_EQUAL (returned, 64 * data_length); } void -do_negative_delay_line_test (int delay_length, int block_length) +do_negative_delay_line_test (int delay_length, int data_length) { - DelayLine d (delay_length); - uint8_t data[block_length]; + DelayLine d (6, delay_length); + shared_ptr<AudioBuffers> data (new AudioBuffers (6, data_length)); int in = 0; - int out = -delay_length; + int out = -delay_length * 6; int returned = 0; for (int i = 0; i < 256; ++i) { - for (int j = 0; j < block_length; ++j) { - data[j] = in; - ++in; + data->set_frames (data_length); + for (int j = 0; j < data_length; ++j) { + for (int c = 0; c < 6; ++c) { + data->data(c)[j] = in; + ++in; + } } - int const a = d.feed (data, block_length); - returned += a; + d.feed (data); + returned += data->frames (); - for (int j = 0; j < a; ++j) { - BOOST_CHECK_EQUAL (data[j], out & 0xff); - ++out; + for (int j = 0; j < data->frames(); ++j) { + for (int c = 0; c < 6; ++c) { + BOOST_CHECK_EQUAL (data->data(c)[j], out); + ++out; + } } } - uint8_t remainder[-delay_length]; - d.get_remaining (remainder); returned += -delay_length; - - for (int i = 0; i < -delay_length; ++i) { - BOOST_CHECK_EQUAL (remainder[i], 0); - ++out; - } - - BOOST_CHECK_EQUAL (returned, 256 * block_length); - + BOOST_CHECK_EQUAL (returned, 256 * data_length); } BOOST_AUTO_TEST_CASE (delay_line_test) |
