diff TestBitDecoder.cpp @ 45:41cc0d8ac77f

Decode directly from bitString.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Mon, 10 Sep 2012 21:29:43 +0200
parents 7348d4efa4f6
children f9fa7ea71d37
line wrap: on
line diff
--- a/TestBitDecoder.cpp	Mon Sep 10 19:18:30 2012 +0200
+++ b/TestBitDecoder.cpp	Mon Sep 10 21:29:43 2012 +0200
@@ -1,23 +1,8 @@
 #include "BitDecoder.hpp"
 #include "TestFramework.hpp"
 
-#include "Exception/InvalidDataException.hpp"
 
 
-QBitArray bitsFromString(const QString& str)
-{
-  QBitArray bits(str.size());
-  for (int i = 0; i < str.size(); ++i) {
-    if (str[i] == '1')
-      bits[i] = true;
-    else if (str[i] == '0')
-      bits[i] = false;
-    else
-      throw InvalidDataException();
-  }
-  return bits;
-}
-
 BOOST_AUTO_TEST_CASE( TestSimple )
 {
   BitDecoder* up = new BitDecoder("a");
@@ -29,12 +14,12 @@
   BOOST_REQUIRE_EQUAL(up->data(), "a");
   BOOST_REQUIRE_EQUAL(down->data(), "b");
 
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1")), "a");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0")), "b");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000")), "bbbb");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1101")), "aaba");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1111")), "aaaa");
+  BOOST_REQUIRE_EQUAL(full->decode("1"), "a");
+  BOOST_REQUIRE_EQUAL(full->decode("0"), "b");
+  BOOST_REQUIRE_EQUAL(full->decode("1111"), "aaaa");
+  BOOST_REQUIRE_EQUAL(full->decode("0000"), "bbbb");
+  BOOST_REQUIRE_EQUAL(full->decode("1101"), "aaba");
+  BOOST_REQUIRE_EQUAL(full->decode("1111"), "aaaa");
 }
 
 BOOST_AUTO_TEST_CASE( TestLong )
@@ -49,19 +34,19 @@
   BitDecoder* full = BitDecoder::merge(down, up);
 
   BOOST_REQUIRE(full->data().isNull());
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("1")), "n");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("01")), "m");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("001")), "l");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0001")), "k");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00001")), "j");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000001")), "i");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000001")), "h");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00000001")), "g");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000000001")), "f");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000001")), "e");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("00000000001")), "d");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("000000000001")), "c");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000000001")), "b");
-  BOOST_REQUIRE_EQUAL(full->decode(bitsFromString("0000000000000")), "a");
+  BOOST_REQUIRE_EQUAL(full->decode("1"), "n");
+  BOOST_REQUIRE_EQUAL(full->decode("01"), "m");
+  BOOST_REQUIRE_EQUAL(full->decode("001"), "l");
+  BOOST_REQUIRE_EQUAL(full->decode("0001"), "k");
+  BOOST_REQUIRE_EQUAL(full->decode("00001"), "j");
+  BOOST_REQUIRE_EQUAL(full->decode("000001"), "i");
+  BOOST_REQUIRE_EQUAL(full->decode("0000001"), "h");
+  BOOST_REQUIRE_EQUAL(full->decode("00000001"), "g");
+  BOOST_REQUIRE_EQUAL(full->decode("000000001"), "f");
+  BOOST_REQUIRE_EQUAL(full->decode("0000000001"), "e");
+  BOOST_REQUIRE_EQUAL(full->decode("00000000001"), "d");
+  BOOST_REQUIRE_EQUAL(full->decode("000000000001"), "c");
+  BOOST_REQUIRE_EQUAL(full->decode("0000000000001"), "b");
+  BOOST_REQUIRE_EQUAL(full->decode("0000000000000"), "a");
 
 }