aboutsummaryrefslogtreecommitdiff
path: root/test/sound
diff options
context:
space:
mode:
authorJohannes Schickel2010-02-06 18:20:33 +0000
committerJohannes Schickel2010-02-06 18:20:33 +0000
commit75b2b13f7fc271db229af13d926d11e83cfd08cd (patch)
tree22768d1d9adde2abeaf3f3f7b593faaaedbcab1e /test/sound
parent454856b5fd890450be6e3fa4db088495f901d849 (diff)
downloadscummvm-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.h17
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;