+
+
+BOOST_AUTO_TEST_CASE (audio_buffers_data)
+{
+ AudioBuffers a (94, 512);
+
+ for (int i = 0; i < 94; ++i) {
+ BOOST_CHECK_EQUAL (a.data()[i], a.data(i));
+ }
+
+ a.set_frames (2048);
+
+ for (int i = 0; i < 94; ++i) {
+ BOOST_CHECK_EQUAL (a.data()[i], a.data(i));
+ }
+}
+
+
+BOOST_AUTO_TEST_CASE (audio_buffers_trim_start)
+{
+ AudioBuffers a (13, 999);
+
+ srand (55);
+ random_fill (a);
+
+ a.trim_start (101);
+
+ srand (55);
+
+ /* Burn the first 101 numbers in the sequence */
+ for (int i = 0; i < 101 * 13; ++i) {
+ random_float ();
+ }
+
+ for (int i = 0; i < (999 - 101); ++i) {
+ for (int j = 0; j < 13; ++j) {
+ BOOST_CHECK_CLOSE (a.data(j)[i], random_float(), tolerance);
+ }
+ }
+}
+
+
+BOOST_AUTO_TEST_CASE(audio_buffers_set_channels_lower)
+{
+ AudioBuffers buffers(9, 9933);
+ srand(4);
+ random_fill(buffers);
+
+ buffers.set_channels(4);
+ BOOST_REQUIRE_EQUAL(buffers.channels(), 4);
+
+ srand(4);
+ for (int i = 0; i < 9933; ++i) {
+ for (int c = 0; c < 4; ++c) {
+ BOOST_CHECK_EQUAL(buffers.data(c)[i], random_float());
+ }
+ for (int c = 4; c < 9; ++c) {
+ random_float();
+ }
+ }
+}
+
+
+BOOST_AUTO_TEST_CASE(audio_buffers_set_channels_higher)
+{
+ AudioBuffers buffers(9, 9933);
+ srand(4);
+ random_fill(buffers);
+
+ buffers.set_channels(13);
+ BOOST_REQUIRE_EQUAL(buffers.channels(), 13);
+
+ srand(4);
+ for (int i = 0; i < 9933; ++i) {
+ for (int c = 0; c < 9; ++c) {
+ BOOST_CHECK_EQUAL(buffers.data(c)[i], random_float());
+ }
+ for (int c = 9; c < 13; ++c) {
+ BOOST_CHECK_EQUAL(buffers.data(c)[i], 0);
+ }
+ }
+}