X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Faudio_buffers_test.cc;h=49df0964633227516bcda636613feb1f6619a4f2;hb=HEAD;hp=0abd730809484a869c4c9b6d65b062fa459020f2;hpb=341ba1115b6285fec998901e50f9afb48bcaeeb6;p=dcpomatic.git diff --git a/test/audio_buffers_test.cc b/test/audio_buffers_test.cc index 0abd73080..49df09646 100644 --- a/test/audio_buffers_test.cc +++ b/test/audio_buffers_test.cc @@ -344,3 +344,44 @@ BOOST_AUTO_TEST_CASE (audio_buffers_trim_start) } } + +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); + } + } +}