Добавил:
itan_hunt
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab6 / unit_testing
.h#ifndef UNIT_TESTING_H
#define UNIT_TESTING_H
#include "Aho_Corasick.h"
#include <cppunit/CompilerOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/ui/text/TestRunner.h>
#include <string>
#include <vector>
#include <utility>
using namespace std;
#define AHO_CORASICK_TEST(test, trie) AhoCorasick(test->input.first, trie) == test->output
#define AHO_CORASICK_WITH_JOKER_TEST(test) AhoCorasickWithJoker(test->input.first, test->input.second, '?') == test->output
void runUnitTestingLabAhoCorasick();
struct TrialAhoCorasick {
pair<wstring, set<wstring>> input;
map<wstring, set<lli>> output;
public:
TrialAhoCorasick(pair<wstring, set<wstring>> input, map<wstring, set<lli>> output);
};
struct TrialJoker {
pair<wstring, wstring> input;
set<lli> output;
public:
TrialJoker(pair<wstring, wstring> input, set<lli> output);
};
struct UnitTestingLabAhoCorasick: public CppUnit::TestFixture {
TrialAhoCorasick *patternsNotEntryText,
*patternsIntersectEachOtherEntryText,
*patternsNotIntersectEachOtherEntryText,
*patternsIncludedEachOtherEntryText;
TrialJoker *templateWithoutJokerEntryText,
*templateNotEntryText,
*subPatternRepeatsInTemplateEntryText,
*templateWithManySingleJokersEntryText;
static CppUnit::Test *suite();
void setUp();
void tearDown();
void testAhoCorasick();
void testAhoCorasickWithJoker();
};
#endif
Соседние файлы в папке lab6