Mercurial > dedupe
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"); }
