From 3d019bb1c8b41d94427a10b5b0a371f72821dc54 Mon Sep 17 00:00:00 2001 From: Yury Melnichek Date: Tue, 24 Jul 2012 01:08:17 +0200 Subject: [PATCH] [sloynik] Minor test refactoring. --- coding/coding_tests/coding_tests.pro | 2 +- coding/coding_tests/compressor_test_utils.hpp | 21 +++++++++++++++ .../publisher_tests/slof_indexer_test.cpp | 27 +++++-------------- 3 files changed, 29 insertions(+), 21 deletions(-) create mode 100644 coding/coding_tests/compressor_test_utils.hpp diff --git a/coding/coding_tests/coding_tests.pro b/coding/coding_tests/coding_tests.pro index ffddb03ab0..4cc8e33c45 100644 --- a/coding/coding_tests/coding_tests.pro +++ b/coding/coding_tests/coding_tests.pro @@ -42,4 +42,4 @@ SOURCES += ../../testing/testingmain.cpp \ HEADERS += \ reader_test.hpp \ coder_test.hpp \ - + compressor_test_utils.hpp \ diff --git a/coding/coding_tests/compressor_test_utils.hpp b/coding/coding_tests/compressor_test_utils.hpp new file mode 100644 index 0000000000..45ea6ddfe4 --- /dev/null +++ b/coding/coding_tests/compressor_test_utils.hpp @@ -0,0 +1,21 @@ +#pragma once +#include "../../testing/testing.hpp" + +namespace coding +{ + inline void TestCompressor(char const * pSrc, size_t srcSize, string & res) + { + res = "<"; + res.insert(res.end(), pSrc, pSrc + srcSize); + res.insert(res.end(), '>'); + } + + inline void TestDecompressor(char const * pSrc, size_t srcSize, char * pDst, size_t dstSize) + { + TEST_GREATER_OR_EQUAL(srcSize, 2, ()); + TEST_EQUAL(srcSize - 2, dstSize, ()); + TEST_EQUAL(pSrc[0], '<', ()); + TEST_EQUAL(pSrc[srcSize-1], '>', ()); + memcpy(pDst, pSrc + 1, srcSize - 2); + } +} diff --git a/publisher/publisher_tests/slof_indexer_test.cpp b/publisher/publisher_tests/slof_indexer_test.cpp index 29ef3a87c4..4a21a2c59f 100644 --- a/publisher/publisher_tests/slof_indexer_test.cpp +++ b/publisher/publisher_tests/slof_indexer_test.cpp @@ -1,5 +1,8 @@ #include "../../testing/testing.hpp" #include "../slof_indexer.hpp" + +#include "../../coding/coding_tests/compressor_test_utils.hpp" + #include "../../words/slof_dictionary.hpp" #include "../../words/sloynik_engine.hpp" #include "../../coding/reader.hpp" @@ -11,22 +14,6 @@ namespace { - void TestCompressor(char const * pSrc, size_t srcSize, string & res) - { - res = "<"; - res.insert(res.end(), pSrc, pSrc + srcSize); - res.insert(res.end(), '>'); - } - - void TestDecompressor(char const * pSrc, size_t srcSize, char * pDst, size_t dstSize) - { - TEST_GREATER_OR_EQUAL(srcSize, 2, ()); - TEST_EQUAL(srcSize - 2, dstSize, ()); - TEST_EQUAL(pSrc[0], '<', ()); - TEST_EQUAL(pSrc[srcSize-1], '>', ()); - memcpy(pDst, pSrc + 1, srcSize - 2); - } - string Key(sl::SlofDictionary const & dic, sl::Dictionary::Id id) { string res; @@ -47,10 +34,10 @@ UNIT_TEST(SlofIndexerEmptyTest) string serializedDictionary; { MemWriter writer(serializedDictionary); - sl::SlofIndexer indexer(writer, 20, &TestCompressor); + sl::SlofIndexer indexer(writer, 20, &coding::TestCompressor); } sl::SlofDictionary dic(new MemReader(&serializedDictionary[0], serializedDictionary.size()), - &TestDecompressor); + &coding::TestDecompressor); TEST_EQUAL(dic.KeyCount(), 0, ()); } @@ -59,7 +46,7 @@ UNIT_TEST(SlofIndexerSmokeTest) string serializedDictionary; { MemWriter writer(serializedDictionary); - sl::SlofIndexer indexer(writer, 25, &TestCompressor); + sl::SlofIndexer indexer(writer, 25, &coding::TestCompressor); uint64_t articleM = indexer.AddArticle("ArticleM"); indexer.AddKey("M", articleM); uint64_t articleHello = indexer.AddArticle("ArticleHello"); @@ -70,7 +57,7 @@ UNIT_TEST(SlofIndexerSmokeTest) } { sl::SlofDictionary dic(new MemReader(&serializedDictionary[0], serializedDictionary.size()), - &TestDecompressor); + &coding::TestDecompressor); TEST_EQUAL(dic.KeyCount(), 4, ()); TEST_EQUAL(Key(dic, 0), "He", ()); TEST_EQUAL(Key(dic, 1), "Hello", ());