aboutsummaryrefslogtreecommitdiffstats
path: root/src/bitstream/bitstream_ut.cpp
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2016-06-19 02:58:23 +0300
committerDaniil Cherednik <dan.cherednik@gmail.com>2016-06-19 03:31:55 +0300
commit1151d5831f19a9f24dd0c545a4968606712a62d2 (patch)
treec978c1b9a3fc86fef531dd412fe6b7668b7c0567 /src/bitstream/bitstream_ut.cpp
parent8d65a0bd0774e03b3d10354e15f2f3361a2ce26a (diff)
downloadatracdenc-1151d5831f19a9f24dd0c545a4968606712a62d2.tar.gz
some improvements of ATRAC3 implementation:atrac3
- simple (ATRAC1 like) psychoacoustic added - possibility to encode tonal components - simple tonal component extractor - refactoring
Diffstat (limited to 'src/bitstream/bitstream_ut.cpp')
-rw-r--r--src/bitstream/bitstream_ut.cpp63
1 files changed, 62 insertions, 1 deletions
diff --git a/src/bitstream/bitstream_ut.cpp b/src/bitstream/bitstream_ut.cpp
index 109570b..7e246ca 100644
--- a/src/bitstream/bitstream_ut.cpp
+++ b/src/bitstream/bitstream_ut.cpp
@@ -11,8 +11,10 @@ TEST(TBitStream, DefaultConstructor) {
TEST(TBitStream, SimpleWriteRead) {
TBitStream bs;
bs.Write(5, 3);
- EXPECT_EQ(3, bs.GetSizeInBits());
+ bs.Write(true, 1);
+ EXPECT_EQ(4, bs.GetSizeInBits());
EXPECT_EQ(5, bs.Read(3));
+ EXPECT_EQ(true, bs.Read(1));
}
TEST(TBisStream, OverlapWriteRead) {
@@ -30,6 +32,7 @@ TEST(TBisStream, OverlapWriteRead) {
EXPECT_EQ(212, bs.Read(22));
EXPECT_EQ(323, bs.Read(22));
}
+
TEST(TBisStream, OverlapWriteRead2) {
TBitStream bs;
bs.Write(2, 2);
@@ -41,6 +44,64 @@ TEST(TBisStream, OverlapWriteRead2) {
EXPECT_EQ(10003, bs.Read(16));
}
+TEST(TBisStream, OverlapWriteRead3) {
+ TBitStream bs;
+ bs.Write(40, 6);
+ bs.Write(3, 2);
+ bs.Write(0, 3);
+ bs.Write(0, 3);
+ bs.Write(0, 3);
+ bs.Write(0, 3);
+
+ bs.Write(3, 5);
+ bs.Write(1, 2);
+ bs.Write(1, 1);
+ bs.Write(1, 1);
+ bs.Write(1, 1);
+ bs.Write(1, 1);
+
+ bs.Write(0, 3);
+ bs.Write(4, 3);
+ bs.Write(35, 6);
+ bs.Write(25, 6);
+ bs.Write(3, 3);
+ bs.Write(32, 6);
+ bs.Write(29, 6);
+ bs.Write(3, 3);
+ bs.Write(36, 6);
+ bs.Write(49, 6);
+
+
+
+
+ EXPECT_EQ(40, bs.Read(6));
+ EXPECT_EQ(3, bs.Read(2));
+ EXPECT_EQ(0, bs.Read(3));
+ EXPECT_EQ(0, bs.Read(3));
+ EXPECT_EQ(0, bs.Read(3));
+ EXPECT_EQ(0, bs.Read(3));
+ EXPECT_EQ(3, bs.Read(5));
+
+ EXPECT_EQ(1, bs.Read(2));
+ EXPECT_EQ(1, bs.Read(1));
+ EXPECT_EQ(1, bs.Read(1));
+ EXPECT_EQ(1, bs.Read(1));
+ EXPECT_EQ(1, bs.Read(1));
+
+ EXPECT_EQ(0, bs.Read(3));
+ EXPECT_EQ(4, bs.Read(3));
+ EXPECT_EQ(35, bs.Read(6));
+ EXPECT_EQ(25, bs.Read(6));
+ EXPECT_EQ(3, bs.Read(3));
+ EXPECT_EQ(32, bs.Read(6));
+ EXPECT_EQ(29, bs.Read(6));
+ EXPECT_EQ(3, bs.Read(3));
+ EXPECT_EQ(36, bs.Read(6));
+ EXPECT_EQ(49, bs.Read(6));
+
+}
+
+
TEST(TBisStream, SignWriteRead) {
TBitStream bs;
bs.Write(MakeSign(-2, 3), 3);