From 4f937eca85fc301a328da8c464f5718203966380 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 13 Apr 2017 10:28:46 +0200 Subject: [PATCH] test normalisation --- alib2data/test-src/string/StringTest.cpp | 63 ++++++++++++++++++++++++ alib2data/test-src/string/StringTest.h | 6 +++ 2 files changed, 69 insertions(+) diff --git a/alib2data/test-src/string/StringTest.cpp b/alib2data/test-src/string/StringTest.cpp index ec2c02aff2..d869e1776f 100644 --- a/alib2data/test-src/string/StringTest.cpp +++ b/alib2data/test-src/string/StringTest.cpp @@ -16,6 +16,9 @@ #include "alphabet/LabeledSymbol.h" #include "alphabet/BlankSymbol.h" +#include <primitive/Character.h> +#include <container/ObjectsSet.h> + CPPUNIT_TEST_SUITE_NAMED_REGISTRATION ( StringTest, "string" ); CPPUNIT_TEST_SUITE_REGISTRATION ( StringTest ); @@ -97,3 +100,63 @@ void StringTest::testStringInMap ( ) { CPPUNIT_ASSERT ( entry.first.get < string::Epsilon < > > ( ) == string::Epsilon < >::EPSILON ); } } + +void StringTest::testNormalize ( ) { + string::LinearString < char > raw ( std::vector < char > { 'a', 'b' } ); + string::String s1 ( raw ); + s1.normalize ( ); + string::String s2 ( raw ); + + std::string tmp1 = alib::XmlDataFactory::toString ( s1 ); + std::cout << tmp1 << std::endl; + string::String s1x = alib::XmlDataFactory::fromString ( tmp1 ); + + std::string tmp2 = alib::XmlDataFactory::toString ( s2 ); + std::cout << tmp2 << std::endl; + string::String s2x = alib::XmlDataFactory::fromString ( tmp2 ); + + CPPUNIT_ASSERT ( s1x == s2x ); +} + +void StringTest::testNormalize2 ( ) { + string::LinearString < alib::Object > raw ( std::vector < alib::Object > { alib::Object ( 'a' ), alib::Object ( 'b' ) } ); + string::String s1 ( raw ); + s1.normalize ( ); + string::String s2 ( raw ); + + std::string tmp1 = alib::XmlDataFactory::toString ( s1 ); + std::cout << tmp1 << std::endl; + string::String s1x = alib::XmlDataFactory::fromString ( tmp1 ); + + std::string tmp2 = alib::XmlDataFactory::toString ( s2 ); + std::cout << tmp2 << std::endl; + string::String s2x = alib::XmlDataFactory::fromString ( tmp2 ); + + CPPUNIT_ASSERT ( s1 == s1x ); + CPPUNIT_ASSERT ( s1 == s2x ); +} + +void StringTest::testNormalize3 ( ) { + string::LinearString < std::set < char > > raw ( std::vector < std::set < char > > { std::set < char > { 'a' }, std::set < char > { 'b' } } ); + string::String s1 ( raw ); + s1.normalize ( ); + string::String s2 ( raw ); + + std::string tmp1 = alib::XmlDataFactory::toString ( s1 ); + std::cout << tmp1 << std::endl; + string::String s1x = alib::XmlDataFactory::fromString ( tmp1 ); + + std::string tmp2 = alib::XmlDataFactory::toString ( s2 ); + std::cout << tmp2 << std::endl; + string::String s2x = alib::XmlDataFactory::fromString ( tmp2 ); + + CPPUNIT_ASSERT ( s1x == s2x ); + + string::LinearString < alib::Object > rawRef ( std::vector < alib::Object > { alib::Object ( container::ObjectsSet < alib::Object > ( std::set < alib::Object > { alib::Object ( primitive::Character ( 'a' ) ) } ) ), alib::Object ( container::ObjectsSet < alib::Object > ( std::set < alib::Object > { alib::Object ( primitive::Character ( 'b' ) ) } ) ) } ); + string::String ref ( rawRef ); + + std::cout << s1x << std::endl; + std::cout << ref << std::endl; + + CPPUNIT_ASSERT ( s1x == ref ); +} diff --git a/alib2data/test-src/string/StringTest.h b/alib2data/test-src/string/StringTest.h index 4eb1b00aab..a3ba48f73e 100644 --- a/alib2data/test-src/string/StringTest.h +++ b/alib2data/test-src/string/StringTest.h @@ -9,6 +9,9 @@ class StringTest : public CppUnit::TestFixture CPPUNIT_TEST( testCopyConstruct ); CPPUNIT_TEST( testXMLParser ); CPPUNIT_TEST( testStringInMap ); + CPPUNIT_TEST( testNormalize ); + CPPUNIT_TEST( testNormalize2 ); + CPPUNIT_TEST( testNormalize3 ); CPPUNIT_TEST_SUITE_END(); public: @@ -18,6 +21,9 @@ public: void testCopyConstruct(); void testXMLParser(); void testStringInMap(); + void testNormalize(); + void testNormalize2(); + void testNormalize3(); }; #endif // STRING_TEST_H_ -- GitLab