[Scummvm-cvs-logs] SF.net SVN: scummvm:[47857] scummvm/trunk/test/sound/raw.h
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Wed Feb 3 16:45:08 CET 2010
Revision: 47857
http://scummvm.svn.sourceforge.net/scummvm/?rev=47857&view=rev
Author: lordhoto
Date: 2010-02-03 15:45:08 +0000 (Wed, 03 Feb 2010)
Log Message:
-----------
Some additional tests of RawStream::readBuffer.
Modified Paths:
--------------
scummvm/trunk/test/sound/raw.h
Modified: scummvm/trunk/test/sound/raw.h
===================================================================
--- scummvm/trunk/test/sound/raw.h 2010-02-03 15:44:43 UTC (rev 47856)
+++ scummvm/trunk/test/sound/raw.h 2010-02-03 15:45:08 UTC (rev 47857)
@@ -165,6 +165,47 @@
delete s;
}
+ void test_partial_read() {
+ const int sampleRate = 11025;
+ const int time = 4;
+
+ int16 *sine;
+ Audio::SeekableAudioStream *s = createSineStream<int8>(sampleRate, time, &sine, false);
+ int16 *buffer = new int16[sampleRate * time];
+
+ TS_ASSERT_EQUALS(s->readBuffer(buffer, sampleRate), sampleRate);
+ TS_ASSERT_EQUALS(memcmp(sine, buffer, sampleRate), 0);
+ TS_ASSERT_EQUALS(s->endOfData(), false);
+
+ TS_ASSERT_EQUALS(s->readBuffer(buffer, sampleRate * 2), sampleRate * 2);
+ TS_ASSERT_EQUALS(memcmp(sine + sampleRate, buffer, sampleRate * 2), 0);
+ TS_ASSERT_EQUALS(s->endOfData(), false);
+
+ TS_ASSERT_EQUALS(s->readBuffer(buffer, sampleRate), sampleRate);
+ TS_ASSERT_EQUALS(memcmp(sine + sampleRate * 3, buffer, sampleRate), 0);
+ TS_ASSERT_EQUALS(s->endOfData(), true);
+
+ delete[] sine;
+ delete[] buffer;
+ delete s;
+ }
+
+ void test_read_after_end() {
+ const int sampleRate = 11025;
+ const int time = 1;
+ Audio::SeekableAudioStream *s = createSineStream<int8>(sampleRate, time, 0, false);
+ int16 *buffer = new int16[sampleRate * time];
+
+ TS_ASSERT_EQUALS(s->readBuffer(buffer, sampleRate * time), sampleRate * time);
+ TS_ASSERT_EQUALS(s->endOfData(), true);
+
+ TS_ASSERT_EQUALS(s->readBuffer(buffer, sampleRate * time), 0);
+ TS_ASSERT_EQUALS(s->endOfData(), true);
+
+ delete[] buffer;
+ delete s;
+ }
+
void test_rewind() {
const int sampleRate = 11025;
const int time = 2;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list