aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMax Horn2010-01-09 22:36:32 +0000
committerMax Horn2010-01-09 22:36:32 +0000
commit4a832ceb0179d280a5baca9db462cf9124d088e2 (patch)
tree939ad5ccbf32f36e482bf5d70ba0c53f9e60f357 /test
parent8fdf6a8095286751c8e267b747c2168aa4213b6d (diff)
downloadscummvm-rg350-4a832ceb0179d280a5baca9db462cf9124d088e2.tar.gz
scummvm-rg350-4a832ceb0179d280a5baca9db462cf9124d088e2.tar.bz2
scummvm-rg350-4a832ceb0179d280a5baca9db462cf9124d088e2.zip
Fix Timestamp::addMsecs; some cleanup
svn-id: r47212
Diffstat (limited to 'test')
-rw-r--r--test/sound/timestamp.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/sound/timestamp.h b/test/sound/timestamp.h
index 213c49ad7f..c5bd24c951 100644
--- a/test/sound/timestamp.h
+++ b/test/sound/timestamp.h
@@ -5,7 +5,7 @@
class TimestampTestSuite : public CxxTest::TestSuite
{
public:
- void test_diff_add() {
+ void test_diff_add_frames() {
const Audio::Timestamp a(10000, 1000);
const Audio::Timestamp b(10001, 1000);
const Audio::Timestamp c(10002, 1000);
@@ -23,6 +23,38 @@ class TimestampTestSuite : public CxxTest::TestSuite
TS_ASSERT_EQUALS(c.frameDiff(a), 2);
}
+ void test_diff_add_msecs() {
+ Audio::Timestamp ts0(3, 22050);
+ Audio::Timestamp ts1(0, 22050);
+ Audio::Timestamp ts2(0, 22050);
+
+ TS_ASSERT_EQUALS(ts0.msecs(), 3);
+ TS_ASSERT_EQUALS(ts0.totalNumberOfFrames(), 3 * 22050 / 1000);
+ TS_ASSERT_EQUALS(ts0.numberOfFrames(), 3 * 22050 / 1000);
+
+ ts1 = ts1.addFrames(53248);
+ TS_ASSERT_EQUALS(ts1.secs(), 2);
+ TS_ASSERT_EQUALS(ts1.msecs(), 53248 * 1000 / 22050);
+ TS_ASSERT_EQUALS(ts1.totalNumberOfFrames(), 53248);
+ TS_ASSERT_EQUALS(ts1.numberOfFrames(), 53248 - 2 * 22050);
+ ts1 = ts1.addMsecs(47);
+ TS_ASSERT_EQUALS(ts1.secs(), 2);
+ TS_ASSERT_EQUALS(ts1.msecs(), 2414+47);
+ TS_ASSERT_EQUALS(ts1.totalNumberOfFrames(), 47*22050 / 1000 + 53248);
+ TS_ASSERT_EQUALS(ts1.numberOfFrames(), 47*22050 / 1000 + 53248 - 2 * 22050);
+
+ ts2 = ts2.addMsecs(47);
+ TS_ASSERT_EQUALS(ts2.secs(), 0);
+ TS_ASSERT_EQUALS(ts2.msecs(), 47);
+ TS_ASSERT_EQUALS(ts2.totalNumberOfFrames(), 47*22050 / 1000);
+ TS_ASSERT_EQUALS(ts2.numberOfFrames(), 47*22050 / 1000);
+ ts2 = ts2.addFrames(53248);
+ TS_ASSERT_EQUALS(ts2.secs(), 2);
+ TS_ASSERT_EQUALS(ts2.msecs(), 2414+47);
+ TS_ASSERT_EQUALS(ts2.totalNumberOfFrames(), 47*22050 / 1000 + 53248);
+ TS_ASSERT_EQUALS(ts2.numberOfFrames(), 47*22050 / 1000 + 53248 - 2 * 22050);
+ }
+
void test_ticks() {
const Audio::Timestamp a(1234, 60);
const Audio::Timestamp b(5678, 60);