diff options
author | Johannes Schickel | 2010-02-06 18:20:33 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-02-06 18:20:33 +0000 |
commit | 75b2b13f7fc271db229af13d926d11e83cfd08cd (patch) | |
tree | 22768d1d9adde2abeaf3f3f7b593faaaedbcab1e /test/sound | |
parent | 454856b5fd890450be6e3fa4db088495f901d849 (diff) | |
download | scummvm-rg350-75b2b13f7fc271db229af13d926d11e83cfd08cd.tar.gz scummvm-rg350-75b2b13f7fc271db229af13d926d11e83cfd08cd.tar.bz2 scummvm-rg350-75b2b13f7fc271db229af13d926d11e83cfd08cd.zip |
Some slight extension for the LoopingAudioStream unit test(s).
svn-id: r47937
Diffstat (limited to 'test/sound')
-rw-r--r-- | test/sound/audiostream.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/sound/audiostream.h b/test/sound/audiostream.h index 869598a7ac..141244a82d 100644 --- a/test/sound/audiostream.h +++ b/test/sound/audiostream.h @@ -40,9 +40,9 @@ private: int16 *sine = 0; Audio::SeekableAudioStream *s = createSineStream<int16>(sampleRate, 1, &sine, false, isStereo); - Audio::LoopingAudioStream *loop = new Audio::LoopingAudioStream(s, 4); + Audio::LoopingAudioStream *loop = new Audio::LoopingAudioStream(s, 7); - int16 *buffer = new int16[secondLength * 2]; + int16 *buffer = new int16[secondLength * 3]; // Check parameters TS_ASSERT_EQUALS(loop->isStereo(), isStereo); @@ -65,16 +65,25 @@ private: TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)3); TS_ASSERT_EQUALS(loop->endOfData(), false); + // Read three seconds + TS_ASSERT_EQUALS(loop->readBuffer(buffer, secondLength * 3), secondLength * 3); + TS_ASSERT_EQUALS(memcmp(buffer, sine, secondLength * sizeof(int16)), 0); + TS_ASSERT_EQUALS(memcmp(buffer + secondLength, sine, secondLength * sizeof(int16)), 0); + TS_ASSERT_EQUALS(memcmp(buffer + secondLength * 2, sine, secondLength * sizeof(int16)), 0); + + TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)6); + TS_ASSERT_EQUALS(loop->endOfData(), false); + // Read the last second TS_ASSERT_EQUALS(loop->readBuffer(buffer, secondLength), secondLength); TS_ASSERT_EQUALS(memcmp(buffer, sine, secondLength * sizeof(int16)), 0); - TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)4); + TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)7); TS_ASSERT_EQUALS(loop->endOfData(), true); // Try to read beyond the end of the stream TS_ASSERT_EQUALS(loop->readBuffer(buffer, secondLength), 0); - TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)4); + TS_ASSERT_EQUALS(loop->getCompleteIterations(), (uint)7); TS_ASSERT_EQUALS(loop->endOfData(), true); delete[] buffer; |