diff --git a/alib2data/src/rte/common/RTEFromXMLParser.cpp b/alib2data/src/rte/common/RTEFromXMLParser.cpp
index 7f7c23fd5262d286050d00a6b3d06ca61f76eac9..d3797c4a39b940ae36d8f9b4f471e7eb0d59e5d9 100644
--- a/alib2data/src/rte/common/RTEFromXMLParser.cpp
+++ b/alib2data/src/rte/common/RTEFromXMLParser.cpp
@@ -161,11 +161,11 @@ FormalRTEAlternation * RTEFromXMLParser::parseFormalRTEAlternation ( std::deque
 FormalRTESubstitution * RTEFromXMLParser::parseFormalRTESubstitution ( std::deque < sax::Token >::iterator & input ) {
 	sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "substitution" );
 
-	alphabet::RankedSymbol ssymb = alib::xmlApi < alphabet::RankedSymbol >::parse ( input );
-	FormalRTEElement * element1	 = parseFormalRTEElement ( input );
-	FormalRTEElement * element2	 = parseFormalRTEElement ( input );
+	FormalRTESymbol * ssymb = new FormalRTESymbol ( alib::xmlApi < alphabet::RankedSymbol >::parse ( input ) );
+	FormalRTEElement * element1 = parseFormalRTEElement ( input );
+	FormalRTEElement * element2 = parseFormalRTEElement ( input );
 
-	FormalRTESubstitution * substitution = new FormalRTESubstitution ( std::move ( * element1 ), std::move ( * element2 ), std::move ( ssymb ) );
+	FormalRTESubstitution * substitution = new FormalRTESubstitution ( std::move ( * element1 ), std::move ( * element2 ), std::move ( * ssymb ) );
 
 	delete element1;
 	delete element2;
@@ -177,9 +177,9 @@ FormalRTESubstitution * RTEFromXMLParser::parseFormalRTESubstitution ( std::dequ
 FormalRTEIteration * RTEFromXMLParser::parseFormalRTEIteration ( std::deque < sax::Token >::iterator & input ) {
 	sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, "iteration" );
 
-	alphabet::RankedSymbol ssymb = alib::xmlApi < alphabet::RankedSymbol >::parse ( input );
+	FormalRTESymbol * ssymb = new FormalRTESymbol ( alib::xmlApi < alphabet::RankedSymbol >::parse ( input ) );
 	FormalRTEElement * element = parseFormalRTEElement ( input );
-	FormalRTEIteration * iteration = new FormalRTEIteration ( std::move ( * element ), std::move ( ssymb ) );
+	FormalRTEIteration * iteration = new FormalRTEIteration ( std::move ( * element ), std::move ( * ssymb ) );
 
 	delete element;
 
diff --git a/alib2data/src/rte/common/RTEToXMLComposer.cpp b/alib2data/src/rte/common/RTEToXMLComposer.cpp
index 8e7d5ee6c4352c58f48b86eafa3315e881510678..a986b18bb1051595c46120328fecade55648e867 100644
--- a/alib2data/src/rte/common/RTEToXMLComposer.cpp
+++ b/alib2data/src/rte/common/RTEToXMLComposer.cpp
@@ -73,7 +73,7 @@ void RTEToXMLComposer::Visit ( void * userData, const FormalRTESubstitution & su
 
 	out.emplace_back ( "substitution", sax::Token::TokenType::START_ELEMENT );
 
-	alib::xmlApi < alphabet::RankedSymbol >::compose ( out, substitution.getSubstitutionSymbol ( ) );
+	alib::xmlApi < alphabet::RankedSymbol >::compose ( out, substitution.getSubstitutionSymbol ( ).getSymbol ( ) );
 	substitution.getLeftElement ( ).Accept ( userData, * this );
 	substitution.getRightElement ( ).Accept ( userData, * this );
 
@@ -85,7 +85,7 @@ void RTEToXMLComposer::Visit ( void * userData, const FormalRTEIteration & itera
 
 	out.emplace_back ( "iteration", sax::Token::TokenType::START_ELEMENT );
 
-	alib::xmlApi < alphabet::RankedSymbol >::compose ( out, iteration.getSubstitutionSymbol ( ) );
+	alib::xmlApi < alphabet::RankedSymbol >::compose ( out, iteration.getSubstitutionSymbol ( ).getSymbol ( ) );
 	iteration.getElement ( ).Accept ( userData, * this );
 
 	out.emplace_back ( "iteration", sax::Token::TokenType::END_ELEMENT );
diff --git a/alib2data/src/rte/formal/FormalRTEIteration.cpp b/alib2data/src/rte/formal/FormalRTEIteration.cpp
index 657737d1608ff5bc2aa2e733b884cf7c6d57a02e..05720a241ce6a057ef9451297fd0acf8166f6b87 100644
--- a/alib2data/src/rte/formal/FormalRTEIteration.cpp
+++ b/alib2data/src/rte/formal/FormalRTEIteration.cpp
@@ -6,15 +6,17 @@
 
 namespace rte {
 
-FormalRTEIteration::FormalRTEIteration ( FormalRTEElement && element, alphabet::RankedSymbol && substitutionSymbol ) : element ( NULL ), substitutionSymbol ( std::move ( substitutionSymbol ) ) {
+FormalRTEIteration::FormalRTEIteration ( FormalRTEElement && element, FormalRTESymbol && substitutionSymbol ) : element ( NULL ), substitutionSymbol ( NULL ) {
 	this->setElement ( std::move ( element ) );
+	this->setSubstitutionSymbol ( std::move ( substitutionSymbol ) );
 }
 
-FormalRTEIteration::FormalRTEIteration ( const FormalRTEElement & element, const alphabet::RankedSymbol & substitutionSymbol ) : element ( NULL ), substitutionSymbol ( substitutionSymbol ) {
+FormalRTEIteration::FormalRTEIteration ( const FormalRTEElement & element, const FormalRTESymbol & substitutionSymbol ) : element ( NULL ), substitutionSymbol ( NULL ) {
 	this->setElement ( element );
+	this->setSubstitutionSymbol ( substitutionSymbol );
 }
 
-FormalRTEIteration::FormalRTEIteration ( const FormalRTEIteration & other ) : element ( other.element->clone ( ) ), substitutionSymbol ( other.substitutionSymbol ) {
+FormalRTEIteration::FormalRTEIteration ( const FormalRTEIteration & other ) : element ( other.element->clone ( ) ), substitutionSymbol ( other.substitutionSymbol->clone ( ) ) {
 }
 
 FormalRTEIteration::FormalRTEIteration ( FormalRTEIteration && other ) noexcept : element ( other.element ), substitutionSymbol ( std::move ( other.substitutionSymbol ) ) {
@@ -53,12 +55,12 @@ FormalRTEElement & FormalRTEIteration::getElement ( ) {
 	return * element;
 }
 
-const alphabet::RankedSymbol & FormalRTEIteration::getSubstitutionSymbol ( ) const {
-	return substitutionSymbol;
+const FormalRTESymbol & FormalRTEIteration::getSubstitutionSymbol ( ) const {
+	return * substitutionSymbol;
 }
 
-alphabet::RankedSymbol & FormalRTEIteration::getSubstitutionSymbol ( ) {
-	return substitutionSymbol;
+FormalRTESymbol & FormalRTEIteration::getSubstitutionSymbol ( ) {
+	return * substitutionSymbol;
 }
 
 void FormalRTEIteration::setElement ( const FormalRTEElement & element ) {
@@ -81,12 +83,12 @@ void FormalRTEIteration::setElement ( FormalRTEElement && element ) {
 	this->element = elem;
 }
 
-void FormalRTEIteration::setSubstitutionSymbol ( const alphabet::RankedSymbol & substitutionSymbol ) {
-	this->substitutionSymbol = substitutionSymbol;
+void FormalRTEIteration::setSubstitutionSymbol ( const FormalRTESymbol & substitutionSymbol ) {
+	this->substitutionSymbol = substitutionSymbol.clone ( );
 }
 
-void FormalRTEIteration::setSubstitutionSymbol ( alphabet::RankedSymbol && substitutionSymbol ) {
-	this->substitutionSymbol = std::move ( substitutionSymbol );
+void FormalRTEIteration::setSubstitutionSymbol ( FormalRTESymbol && substitutionSymbol ) {
+	this->substitutionSymbol = std::move ( substitutionSymbol ).plunder ( );
 }
 
 FormalRTEIteration * FormalRTEIteration::clone ( ) const {
@@ -124,11 +126,11 @@ bool FormalRTEIteration::attachRTE ( const RTEAlphabet * regexp ) {
 
 	if ( !this->element->attachRTE ( regexp ) ) return false;
 
-	return this->parentRTE->getConstantAlphabet ( ).find ( this->substitutionSymbol ) != this->parentRTE->getConstantAlphabet ( ).end ( );
+	return this->parentRTE->getConstantAlphabet ( ).find ( this->substitutionSymbol->getSymbol ( ) ) != this->parentRTE->getConstantAlphabet ( ).end ( );
 }
 
 void FormalRTEIteration::computeMinimalAlphabet ( std::set < alphabet::RankedSymbol > & alphabetF, std::set < alphabet::RankedSymbol > & alphabetK ) const {
-	alphabetK.insert ( substitutionSymbol );
+	alphabetK.insert ( substitutionSymbol->getSymbol ( ) );
 	element->computeMinimalAlphabet ( alphabetF, alphabetK );
 }
 
diff --git a/alib2data/src/rte/formal/FormalRTEIteration.h b/alib2data/src/rte/formal/FormalRTEIteration.h
index 502cbd20db5978777db8d5d2aefaf873a8211ddc..21d5965fea705cf3bc1051b886d85491d041c116 100644
--- a/alib2data/src/rte/formal/FormalRTEIteration.h
+++ b/alib2data/src/rte/formal/FormalRTEIteration.h
@@ -2,6 +2,7 @@
 #define FORMAL_RTE_ITERATION_H_
 
 #include "FormalRTEElement.h"
+#include "FormalRTESymbol.h"
 
 namespace rte {
 
@@ -18,7 +19,7 @@ class RTEOptimize;
 class FormalRTEIteration : public FormalRTEElement {
 protected:
 	FormalRTEElement * element;
-	alphabet::RankedSymbol substitutionSymbol;
+	FormalRTESymbol * substitutionSymbol;
 
 	/**
 	 * @copydoc FormalRTEElement::clone() const
@@ -46,8 +47,8 @@ public:
 		visitor.Visit ( userData, * this );
 	}
 
-	explicit FormalRTEIteration ( FormalRTEElement &&, alphabet::RankedSymbol && );
-	explicit FormalRTEIteration ( const FormalRTEElement &, const alphabet::RankedSymbol & );
+	explicit FormalRTEIteration ( FormalRTEElement &&, FormalRTESymbol && );
+	explicit FormalRTEIteration ( const FormalRTEElement &, const FormalRTESymbol & );
 
 	FormalRTEIteration ( const FormalRTEIteration & other );
 	FormalRTEIteration ( FormalRTEIteration && other ) noexcept;
@@ -69,13 +70,13 @@ public:
 	 * @return element
 	 */
 	const FormalRTEElement & getElement ( ) const;
-	const alphabet::RankedSymbol & getSubstitutionSymbol ( ) const;
+	const FormalRTESymbol & getSubstitutionSymbol ( ) const;
 
 	/**
 	 * @return element
 	 */
 	FormalRTEElement & getElement ( );
-	alphabet::RankedSymbol & getSubstitutionSymbol ( );
+	FormalRTESymbol & getSubstitutionSymbol ( );
 
 	/**
 	 * @param element to iterate
@@ -83,8 +84,8 @@ public:
 	void setElement ( const FormalRTEElement & element );
 	void setElement ( FormalRTEElement && element );
 
-	void setSubstitutionSymbol ( const alphabet::RankedSymbol & element );
-	void setSubstitutionSymbol ( alphabet::RankedSymbol && element );
+	void setSubstitutionSymbol ( const FormalRTESymbol & element );
+	void setSubstitutionSymbol ( FormalRTESymbol && element );
 
 	virtual int compare ( const FormalRTEElement & other ) const {
 		if ( std::type_index ( typeid ( * this ) ) == std::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
diff --git a/alib2data/src/rte/formal/FormalRTESubstitution.cpp b/alib2data/src/rte/formal/FormalRTESubstitution.cpp
index 53e7bda7559d7598fa4376fa29a57ff14c743a9c..a51a82293ad1ab596d7510de2e080f7d36b2f097 100644
--- a/alib2data/src/rte/formal/FormalRTESubstitution.cpp
+++ b/alib2data/src/rte/formal/FormalRTESubstitution.cpp
@@ -6,22 +6,25 @@
 
 namespace rte {
 
-FormalRTESubstitution::FormalRTESubstitution ( FormalRTEElement && left, FormalRTEElement && right, alphabet::RankedSymbol && substitutionSymbol ) : left ( NULL ), right ( NULL ), substitutionSymbol ( std::move ( substitutionSymbol ) ) {
+FormalRTESubstitution::FormalRTESubstitution ( FormalRTEElement && left, FormalRTEElement && right, FormalRTESymbol && substitutionSymbol ) : left ( NULL ), right ( NULL ), substitutionSymbol ( NULL ) {
 	this->left	= std::move ( left ).plunder ( );
 	this->right = std::move ( right ).plunder ( );
+	this->substitutionSymbol = std::move ( substitutionSymbol ).plunder ( );
 }
 
-FormalRTESubstitution::FormalRTESubstitution ( const FormalRTEElement & left, const FormalRTEElement & right, const alphabet::RankedSymbol & substitutionSymbol ) : left ( NULL ), right ( NULL ), substitutionSymbol ( substitutionSymbol ) {
+FormalRTESubstitution::FormalRTESubstitution ( const FormalRTEElement & left, const FormalRTEElement & right, const FormalRTESymbol & substitutionSymbol ) : left ( NULL ), right ( NULL ), substitutionSymbol ( NULL ) {
 	this->left	= left.clone ( );
 	this->right = right.clone ( );
+	this->substitutionSymbol = substitutionSymbol.clone ( );
 }
 
-FormalRTESubstitution::FormalRTESubstitution ( const FormalRTESubstitution & other ) : left ( other.left->clone ( ) ), right ( other.right->clone ( ) ), substitutionSymbol ( other.substitutionSymbol ) {
+FormalRTESubstitution::FormalRTESubstitution ( const FormalRTESubstitution & other ) : left ( other.left->clone ( ) ), right ( other.right->clone ( ) ), substitutionSymbol ( other.substitutionSymbol->clone ( ) ) {
 }
 
 FormalRTESubstitution::FormalRTESubstitution ( FormalRTESubstitution && other ) noexcept : left ( std::move ( other.left ) ), right ( std::move ( other.right ) ), substitutionSymbol ( std::move ( other.substitutionSymbol ) ) {
 	other.left	= NULL;
 	other.right = NULL;
+	other.substitutionSymbol = NULL;
 	this->attachRTE ( NULL );
 }
 
@@ -58,8 +61,8 @@ const FormalRTEElement & FormalRTESubstitution::getRightElement ( ) const {
 	return * right;
 }
 
-const alphabet::RankedSymbol & FormalRTESubstitution::getSubstitutionSymbol ( ) const {
-	return substitutionSymbol;
+const FormalRTESymbol & FormalRTESubstitution::getSubstitutionSymbol ( ) const {
+	return * substitutionSymbol;
 }
 
 FormalRTEElement & FormalRTESubstitution::getLeftElement ( ) {
@@ -70,8 +73,8 @@ FormalRTEElement & FormalRTESubstitution::getRightElement ( ) {
 	return * right;
 }
 
-alphabet::RankedSymbol & FormalRTESubstitution::getSubstitutionSymbol ( ) {
-	return substitutionSymbol;
+FormalRTESymbol & FormalRTESubstitution::getSubstitutionSymbol ( ) {
+	return * substitutionSymbol;
 }
 
 void FormalRTESubstitution::setLeftElement ( const FormalRTEElement & element ) {
@@ -114,12 +117,12 @@ void FormalRTESubstitution::setRightElement ( FormalRTEElement && element ) {
 	this->right = elem;
 }
 
-void FormalRTESubstitution::setSubstitutionSymbol ( const alphabet::RankedSymbol & substitutionSymbol ) {
-	this->substitutionSymbol = substitutionSymbol;
+void FormalRTESubstitution::setSubstitutionSymbol ( const FormalRTESymbol & substitutionSymbol ) {
+	this->substitutionSymbol = substitutionSymbol.clone ( );
 }
 
-void FormalRTESubstitution::setSubstitutionSymbol ( alphabet::RankedSymbol && substitutionSymbol ) {
-	this->substitutionSymbol = std::move ( substitutionSymbol );
+void FormalRTESubstitution::setSubstitutionSymbol ( FormalRTESymbol && substitutionSymbol ) {
+	this->substitutionSymbol = std::move ( substitutionSymbol ).plunder ( );
 }
 
 FormalRTESubstitution * FormalRTESubstitution::clone ( ) const {
@@ -166,7 +169,7 @@ bool FormalRTESubstitution::testSymbol ( const alphabet::RankedSymbol & symbol )
 
 	if ( right->testSymbol ( symbol ) ) return true;
 
-	if ( substitutionSymbol == symbol ) return true;
+	if ( substitutionSymbol->getSymbol ( ) == symbol ) return true;
 
 	return false;
 }
@@ -182,11 +185,11 @@ bool FormalRTESubstitution::attachRTE ( const RTEAlphabet * regexp ) {
 
 	if ( !right->attachRTE ( regexp ) ) return false;
 
-	return this->parentRTE->getConstantAlphabet ( ).find ( this->substitutionSymbol ) != this->parentRTE->getConstantAlphabet ( ).end ( );
+	return this->parentRTE->getConstantAlphabet ( ).find ( this->substitutionSymbol->getSymbol ( ) ) != this->parentRTE->getConstantAlphabet ( ).end ( );
 }
 
 void FormalRTESubstitution::computeMinimalAlphabet ( std::set < alphabet::RankedSymbol > & alphabetF, std::set < alphabet::RankedSymbol > & alphabetK ) const {
-	alphabetK.insert ( substitutionSymbol );
+	alphabetK.insert ( substitutionSymbol->getSymbol ( ) );
 	left->computeMinimalAlphabet ( alphabetF, alphabetK );
 	right->computeMinimalAlphabet ( alphabetF, alphabetK );
 }
diff --git a/alib2data/src/rte/formal/FormalRTESubstitution.h b/alib2data/src/rte/formal/FormalRTESubstitution.h
index 40c11ecec18c63f637ffaa025f9749c328c981d8..0d4de57e204ac4f495d38076b6868f2de4a26e52 100644
--- a/alib2data/src/rte/formal/FormalRTESubstitution.h
+++ b/alib2data/src/rte/formal/FormalRTESubstitution.h
@@ -2,6 +2,7 @@
 #define FORMAL_RTE_SUBSTITUTION_H_
 
 #include "FormalRTEElement.h"
+#include "FormalRTESymbol.h"
 
 namespace rte {
 
@@ -19,7 +20,7 @@ protected:
 
 	FormalRTEElement * left;
 	FormalRTEElement * right;
-	alphabet::RankedSymbol substitutionSymbol; // substite this in left by right
+	FormalRTESymbol * substitutionSymbol; // substite this in left by right
 
 	/**
 	 * @copydoc FormalRTEElement::testSymbol() const
@@ -41,8 +42,8 @@ public:
 		visitor.Visit ( userData, * this );
 	}
 
-	explicit FormalRTESubstitution ( FormalRTEElement && left, FormalRTEElement && right, alphabet::RankedSymbol && substitutionSymbol );
-	explicit FormalRTESubstitution ( const FormalRTEElement & left, const FormalRTEElement & right, const alphabet::RankedSymbol & substitutionSymbol );
+	explicit FormalRTESubstitution ( FormalRTEElement && left, FormalRTEElement && right, FormalRTESymbol && substitutionSymbol );
+	explicit FormalRTESubstitution ( const FormalRTEElement & left, const FormalRTEElement & right, const FormalRTESymbol & substitutionSymbol );
 
 	FormalRTESubstitution ( const FormalRTESubstitution & other );
 	FormalRTESubstitution ( FormalRTESubstitution && other ) noexcept;
@@ -65,14 +66,14 @@ public:
 	 */
 	const FormalRTEElement & getLeftElement ( ) const;
 	const FormalRTEElement & getRightElement ( ) const;
-	const alphabet::RankedSymbol & getSubstitutionSymbol ( ) const;
+	const FormalRTESymbol & getSubstitutionSymbol ( ) const;
 
 	/**
 	 * @return elements
 	 */
 	FormalRTEElement & getLeftElement ( );
 	FormalRTEElement & getRightElement ( );
-	alphabet::RankedSymbol & getSubstitutionSymbol ( );
+	FormalRTESymbol & getSubstitutionSymbol ( );
 
 	/**
 	 * @param element to append
@@ -83,8 +84,8 @@ public:
 	void setRightElement ( const FormalRTEElement & element );
 	void setRightElement ( FormalRTEElement && element );
 
-	void setSubstitutionSymbol ( const alphabet::RankedSymbol & element );
-	void setSubstitutionSymbol ( alphabet::RankedSymbol && element );
+	void setSubstitutionSymbol ( const FormalRTESymbol & element );
+	void setSubstitutionSymbol ( FormalRTESymbol && element );
 
 	virtual int compare ( const FormalRTEElement & other ) const {
 		if ( std::type_index ( typeid ( * this ) ) == std::type_index ( typeid ( other ) ) ) return this->compare ( ( decltype ( * this ) )other );
diff --git a/alib2data/src/rte/formal/FormalRTESymbol.cpp b/alib2data/src/rte/formal/FormalRTESymbol.cpp
index 420ba05f1d7853ade8ed17f813ca8a34b3815b88..5baaf329fbb6da2948cb405b11712f40ecfa3804 100644
--- a/alib2data/src/rte/formal/FormalRTESymbol.cpp
+++ b/alib2data/src/rte/formal/FormalRTESymbol.cpp
@@ -134,7 +134,7 @@ bool FormalRTESymbol::attachRTE ( const RTEAlphabet * regexp ) {
 	for ( FormalRTESymbol * const & element : this->elements )
 		if ( !element->attachRTE ( regexp ) ) return false;
 
-	return this->parentRTE->getAlphabet ( ).find ( this->symbol ) != this->parentRTE->getAlphabet ( ).end ( );
+	return this->parentRTE->getAlphabet ( ).find ( this->symbol ) != this->parentRTE->getAlphabet ( ).end ( ) || this->parentRTE->getConstantAlphabet ( ).find ( this->symbol ) != this->parentRTE->getConstantAlphabet ( ).end ( );
 }
 
 void FormalRTESymbol::computeMinimalAlphabet ( std::set < alphabet::RankedSymbol > & alphabetF, std::set < alphabet::RankedSymbol > & /* alphabetK */ ) const {
diff --git a/alib2data/test-src/rte/RTETest.cpp b/alib2data/test-src/rte/RTETest.cpp
index 90df05b07dcdae024e70ed69da556a5cc8b63fe2..62f98b4f09c7a7f3922886635369ef9feb708ef9 100644
--- a/alib2data/test-src/rte/RTETest.cpp
+++ b/alib2data/test-src/rte/RTETest.cpp
@@ -4,8 +4,8 @@
 #include "sax/SaxParseInterface.h"
 #include "sax/SaxComposeInterface.h"
 
-//#include "rte/unbounded/UnboundedRTE.h"
-//#include "rte/unbounded/UnboundedRTEElements.h"
+// #include "rte/unbounded/UnboundedRTE.h"
+// #include "rte/unbounded/UnboundedRTEElements.h"
 #include "rte/formal/FormalRTE.h"
 #include "rte/formal/FormalRTEElements.h"
 
@@ -13,651 +13,652 @@
 
 #include "factory/XmlDataFactory.hpp"
 
-#define CPPUNIT_IMPLY(x, y) CPPUNIT_ASSERT(!(x) || (y))
-#define CPPUNIT_EXCLUSIVE_OR(x, y) CPPUNIT_ASSERT((!(x) && (y)) || ((x) && !(y)))
+#define CPPUNIT_IMPLY( x, y )			CPPUNIT_ASSERT ( !( x ) || ( y ) )
+#define CPPUNIT_EXCLUSIVE_OR( x, y )	CPPUNIT_ASSERT ( ( !( x ) && ( y ) ) || ( ( x ) && !( y ) ) )
 
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( RTETest, "rte" );
-CPPUNIT_TEST_SUITE_REGISTRATION( RTETest );
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION ( RTETest, "rte" );
+CPPUNIT_TEST_SUITE_REGISTRATION ( RTETest );
 
-void RTETest::setUp() {
+void RTETest::setUp ( ) {
 }
 
-void RTETest::tearDown() {
+void RTETest::tearDown ( ) {
 }
 
-void RTETest::testCopyConstruct() {
+void RTETest::testCopyConstruct ( ) {
 	{
 		/*
-		rte::UnboundedRTE rte;
-		rte.setAlphabet({alphabet::symbolFrom("1"), alphabet::symbolFrom("2"), alphabet::symbolFrom("3")});
-		rte::UnboundedRTESymbol l1 = rte::UnboundedRTESymbol("1");
-		rte::UnboundedRTESymbol l2 = rte::UnboundedRTESymbol("2");
-
-		rte::UnboundedRTEConcatenation con = rte::UnboundedRTEConcatenation();
-		con.appendElement(l1);
-		con.appendElement(l2);
-
-		rte::UnboundedRTEIteration ite = rte::UnboundedRTEIteration(l1);
-
-		rte::UnboundedRTEAlternation alt = rte::UnboundedRTEAlternation();
-		alt.appendElement(con);
-		alt.appendElement(ite);
-
-		rte.setRTE(alt);
-
-		rte::UnboundedRTE rte2(rte);
-
-		CPPUNIT_ASSERT( rte == rte2 );
-
-		rte::UnboundedRTE rte3(std::move(rte));
-
-		CPPUNIT_ASSERT( rte2 == rte3 );
-		*/
+		 * rte::UnboundedRTE rte;
+		 * rte.setAlphabet({alphabet::symbolFrom("1"), alphabet::symbolFrom("2"), alphabet::symbolFrom("3")});
+		 * rte::UnboundedRTESymbol l1 = rte::UnboundedRTESymbol("1");
+		 * rte::UnboundedRTESymbol l2 = rte::UnboundedRTESymbol("2");
+		 *
+		 * rte::UnboundedRTEConcatenation con = rte::UnboundedRTEConcatenation();
+		 * con.appendElement(l1);
+		 * con.appendElement(l2);
+		 *
+		 * rte::UnboundedRTEIteration ite = rte::UnboundedRTEIteration(l1);
+		 *
+		 * rte::UnboundedRTEAlternation alt = rte::UnboundedRTEAlternation();
+		 * alt.appendElement(con);
+		 * alt.appendElement(ite);
+		 *
+		 * rte.setRTE(alt);
+		 *
+		 * rte::UnboundedRTE rte2(rte);
+		 *
+		 * CPPUNIT_ASSERT( rte == rte2 );
+		 *
+		 * rte::UnboundedRTE rte3(std::move(rte));
+		 *
+		 * CPPUNIT_ASSERT( rte2 == rte3 );
+		 */
 	}
 	{
-		const alphabet::RankedSymbol symb_a2('a', 2);
-		const alphabet::RankedSymbol symb_b0('b', 0);
-		const alphabet::RankedSymbol symb_c0('c', 0);
-		const alphabet::RankedSymbol symb_y0('y', 0);
-		const alphabet::RankedSymbol symb_z0('z', 0);
+		const alphabet::RankedSymbol symb_a2 ( 'a', 2 );
+		const alphabet::RankedSymbol symb_b0 ( 'b', 0 );
+		const alphabet::RankedSymbol symb_c0 ( 'c', 0 );
+		const alphabet::RankedSymbol symb_y0 ( 'y', 0 );
+		const alphabet::RankedSymbol symb_z0 ( 'z', 0 );
 
 		rte::FormalRTE frte;
-		frte.setAlphabet({symb_a2, symb_b0, symb_c0});
-		frte.setConstantAlphabet({symb_y0, symb_z0});
+		frte.setAlphabet ( { symb_a2, symb_b0, symb_c0 } );
+		frte.setConstantAlphabet ( { symb_y0, symb_z0 } );
 
-		rte::FormalRTESymbol b = rte::FormalRTESymbol(symb_b0);
-		rte::FormalRTESymbol c = rte::FormalRTESymbol(symb_c0);
-		rte::FormalRTESymbol y = rte::FormalRTESymbol(symb_y0);
-		rte::FormalRTESymbol z = rte::FormalRTESymbol(symb_z0);
+		rte::FormalRTESymbol b = rte::FormalRTESymbol ( symb_b0 );
+		rte::FormalRTESymbol c = rte::FormalRTESymbol ( symb_c0 );
+		rte::FormalRTESymbol y = rte::FormalRTESymbol ( symb_y0 );
+		rte::FormalRTESymbol z = rte::FormalRTESymbol ( symb_z0 );
 
-		rte::FormalRTEAlternation alt = rte::FormalRTEAlternation(b, c);
+		rte::FormalRTEAlternation alt = rte::FormalRTEAlternation ( b, c );
 
-		rte::FormalRTESymbol a = rte::FormalRTESymbol(symb_a2);
-		a.appendElement(y);
-		a.appendElement(z);
+		rte::FormalRTESymbol a = rte::FormalRTESymbol ( symb_a2 );
+		a.appendElement ( y );
+		a.appendElement ( z );
 
-		rte::FormalRTEIteration iter = rte::FormalRTEIteration(a, symb_y0);
-		rte::FormalRTESubstitution subst = rte::FormalRTESubstitution(iter, alt, symb_z0);
-		frte.setRTE(subst);
+		rte::FormalRTEIteration iter = rte::FormalRTEIteration ( a, rte::FormalRTESymbol ( symb_y0 ) );
+		rte::FormalRTESubstitution subst = rte::FormalRTESubstitution ( iter, alt, rte::FormalRTESymbol ( symb_z0 ) );
+		frte.setRTE ( subst );
 
-		rte::FormalRTE frte2(frte);
-		CPPUNIT_ASSERT( frte == frte2 );
+		rte::FormalRTE frte2 ( frte );
+		CPPUNIT_ASSERT ( frte == frte2 );
 
-		rte::FormalRTE frte3(std::move(frte));
-		CPPUNIT_ASSERT( frte2 == frte3 );
+		rte::FormalRTE frte3 ( std::move ( frte ) );
+		CPPUNIT_ASSERT ( frte2 == frte3 );
 	}
 }
 
-void RTETest::testXMLParser() {
-		const alphabet::RankedSymbol symb_a2('a', 2);
-		const alphabet::RankedSymbol symb_b0('b', 0);
-		const alphabet::RankedSymbol symb_c0('c', 0);
-		const alphabet::RankedSymbol symb_d1('d', 1);
-		const alphabet::RankedSymbol symb_y0('y', 0);
-		const alphabet::RankedSymbol symb_z0('z', 0);
+void RTETest::testXMLParser ( ) {
+	const alphabet::RankedSymbol symb_a2 ( 'a', 2 );
+	const alphabet::RankedSymbol symb_b0 ( 'b', 0 );
+	const alphabet::RankedSymbol symb_c0 ( 'c', 0 );
+	const alphabet::RankedSymbol symb_d1 ( 'd', 1 );
+	const alphabet::RankedSymbol symb_y0 ( 'y', 0 );
+	const alphabet::RankedSymbol symb_z0 ( 'z', 0 );
 
-		rte::FormalRTE frte;
-		frte.setAlphabet({symb_a2, symb_b0, symb_c0, symb_d1});
-		frte.setConstantAlphabet({symb_y0, symb_z0});
+	rte::FormalRTE frte;
+
+	frte.setAlphabet ( { symb_a2, symb_b0, symb_c0, symb_d1 } );
+	frte.setConstantAlphabet ( { symb_y0, symb_z0 } );
 
-		rte::FormalRTESymbol b = rte::FormalRTESymbol(symb_b0);
-		rte::FormalRTESymbol c = rte::FormalRTESymbol(symb_c0);
-		rte::FormalRTESymbol y = rte::FormalRTESymbol(symb_y0);
-		rte::FormalRTESymbol z = rte::FormalRTESymbol(symb_z0);
+	rte::FormalRTESymbol b = rte::FormalRTESymbol ( symb_b0 );
+	rte::FormalRTESymbol c = rte::FormalRTESymbol ( symb_c0 );
+	rte::FormalRTESymbol y = rte::FormalRTESymbol ( symb_y0 );
+	rte::FormalRTESymbol z = rte::FormalRTESymbol ( symb_z0 );
 
-		rte::FormalRTEAlternation alt = rte::FormalRTEAlternation(b, c);
+	rte::FormalRTEAlternation alt = rte::FormalRTEAlternation ( b, c );
 
-		rte::FormalRTESymbol a = rte::FormalRTESymbol(symb_a2);
-		a.appendElement(y);
-		a.appendElement(z);
+	rte::FormalRTESymbol a = rte::FormalRTESymbol ( symb_a2 );
+	a.appendElement ( y );
+	a.appendElement ( z );
 
-		rte::FormalRTESymbol d = rte::FormalRTESymbol(symb_d1);
-		d.appendElement(a);
+	rte::FormalRTESymbol d = rte::FormalRTESymbol ( symb_d1 );
+	d.appendElement ( a );
 
-		rte::FormalRTEIteration iter = rte::FormalRTEIteration(d, symb_y0);
-		rte::FormalRTESubstitution subst = rte::FormalRTESubstitution(iter, alt, symb_z0);
-		frte.setRTE(subst);
+	rte::FormalRTEIteration iter = rte::FormalRTEIteration ( d, rte::FormalRTESymbol ( symb_y0 ) );
+	rte::FormalRTESubstitution subst = rte::FormalRTESubstitution ( iter, alt, rte::FormalRTESymbol ( symb_z0 ) );
+	frte.setRTE ( subst );
 
-	rte::RTE rte(frte);
-	alib::XmlDataFactory::toStdout(rte);
+	rte::RTE rte ( frte );
+	alib::XmlDataFactory::toStdout ( rte );
 	{
-		std::deque<sax::Token> tokens = alib::XmlDataFactory::toTokens(rte);
+		std::deque < sax::Token > tokens = alib::XmlDataFactory::toTokens ( rte );
 		std::string tmp;
-		sax::SaxComposeInterface::printMemory(tmp, tokens);
+		sax::SaxComposeInterface::printMemory ( tmp, tokens );
 
-		std::deque<sax::Token> tokens2;
-		sax::SaxParseInterface::parseMemory(tmp, tokens2);
-		rte::RTE rte2 = alib::XmlDataFactory::fromTokens<rte::RTE>(std::move(tokens2));
+		std::deque < sax::Token > tokens2;
+		sax::SaxParseInterface::parseMemory ( tmp, tokens2 );
+		rte::RTE rte2 = alib::XmlDataFactory::fromTokens < rte::RTE > ( std::move ( tokens2 ) );
 
-		CPPUNIT_ASSERT( rte == rte2 );
+		CPPUNIT_ASSERT ( rte == rte2 );
 	}
 	{
-		std::string tmp = alib::XmlDataFactory::toString(rte);
-		rte::RTE rte2 = alib::XmlDataFactory::fromString<rte::RTE>(tmp);
+		std::string tmp = alib::XmlDataFactory::toString ( rte );
+		rte::RTE rte2 = alib::XmlDataFactory::fromString < rte::RTE > ( tmp );
 
-		CPPUNIT_ASSERT( rte == rte2 );
+		CPPUNIT_ASSERT ( rte == rte2 );
 	}
 }
 
-void RTETest::testOrder() {
+void RTETest::testOrder ( ) {
 	/*
-	rte::UnboundedRTESymbol s1("1");
-	rte::UnboundedRTEEmpty e1;
-	rte::UnboundedRTEEpsilon e2;
-	rte::UnboundedRTEIteration i1(s1);
-	rte::UnboundedRTEConcatenation a1;
-	a1.appendElement(s1);
-	a1.appendElement(s1);
-	rte::UnboundedRTEAlternation c1;
-	c1.appendElement(s1);
-	c1.appendElement(s1);
-
-	rte::UnboundedRTE alt1(a1);
-	rte::UnboundedRTE con1(c1);
-	rte::UnboundedRTE ite1(i1);
-	rte::UnboundedRTE emp1(e1);
-	rte::UnboundedRTE eps1(e2);
-	rte::UnboundedRTE sym1(s1);
-
-	CPPUNIT_EXCLUSIVE_OR(alt1 < con1, con1 < alt1);
-	CPPUNIT_EXCLUSIVE_OR(alt1 < ite1, ite1 < alt1);
-	CPPUNIT_EXCLUSIVE_OR(alt1 < emp1, emp1 < alt1);
-	CPPUNIT_EXCLUSIVE_OR(alt1 < eps1, eps1 < alt1);
-	CPPUNIT_EXCLUSIVE_OR(alt1 < sym1, sym1 < alt1);
-
-	CPPUNIT_EXCLUSIVE_OR(con1 < ite1, ite1 < con1);
-	CPPUNIT_EXCLUSIVE_OR(con1 < emp1, emp1 < con1);
-	CPPUNIT_EXCLUSIVE_OR(con1 < eps1, eps1 < con1);
-	CPPUNIT_EXCLUSIVE_OR(con1 < sym1, sym1 < con1);
-
-	CPPUNIT_EXCLUSIVE_OR(ite1 < emp1, emp1 < ite1);
-	CPPUNIT_EXCLUSIVE_OR(ite1 < eps1, eps1 < ite1);
-	CPPUNIT_EXCLUSIVE_OR(ite1 < sym1, sym1 < ite1);
-
-	CPPUNIT_EXCLUSIVE_OR(emp1 < eps1, eps1 < emp1);
-	CPPUNIT_EXCLUSIVE_OR(emp1 < sym1, sym1 < emp1);
-
-	CPPUNIT_EXCLUSIVE_OR(eps1 < sym1, sym1 < eps1);
-
-	CPPUNIT_IMPLY( alt1 < con1 && con1 < ite1, alt1 < ite1 );
-	CPPUNIT_IMPLY( alt1 < con1 && con1 < emp1, alt1 < emp1 );
-	CPPUNIT_IMPLY( alt1 < con1 && con1 < eps1, alt1 < eps1 );
-	CPPUNIT_IMPLY( alt1 < con1 && con1 < sym1, alt1 < sym1 );
-
-	CPPUNIT_IMPLY( alt1 < ite1 && ite1 < con1, alt1 < con1 );
-	CPPUNIT_IMPLY( alt1 < ite1 && ite1 < emp1, alt1 < emp1 );
-	CPPUNIT_IMPLY( alt1 < ite1 && ite1 < eps1, alt1 < eps1 );
-	CPPUNIT_IMPLY( alt1 < ite1 && ite1 < sym1, alt1 < sym1 );
-
-	CPPUNIT_IMPLY( alt1 < emp1 && emp1 < con1, alt1 < con1 );
-	CPPUNIT_IMPLY( alt1 < emp1 && emp1 < ite1, alt1 < ite1 );
-	CPPUNIT_IMPLY( alt1 < emp1 && emp1 < eps1, alt1 < eps1 );
-	CPPUNIT_IMPLY( alt1 < emp1 && emp1 < sym1, alt1 < sym1 );
-
-	CPPUNIT_IMPLY( alt1 < eps1 && eps1 < con1, alt1 < con1 );
-	CPPUNIT_IMPLY( alt1 < eps1 && eps1 < ite1, alt1 < ite1 );
-	CPPUNIT_IMPLY( alt1 < eps1 && eps1 < emp1, alt1 < emp1 );
-	CPPUNIT_IMPLY( alt1 < eps1 && eps1 < sym1, alt1 < sym1 );
-
-	CPPUNIT_IMPLY( alt1 < sym1 && sym1 < con1, alt1 < con1 );
-	CPPUNIT_IMPLY( alt1 < sym1 && sym1 < ite1, alt1 < ite1 );
-	CPPUNIT_IMPLY( alt1 < sym1 && sym1 < emp1, alt1 < emp1 );
-	CPPUNIT_IMPLY( alt1 < sym1 && sym1 < eps1, alt1 < eps1 );
-
-
-
-	CPPUNIT_IMPLY( con1 < alt1 && alt1 < ite1, con1 < ite1 );
-	CPPUNIT_IMPLY( con1 < alt1 && alt1 < emp1, con1 < emp1 );
-	CPPUNIT_IMPLY( con1 < alt1 && alt1 < eps1, con1 < eps1 );
-	CPPUNIT_IMPLY( con1 < alt1 && alt1 < sym1, con1 < sym1 );
-
-	CPPUNIT_IMPLY( con1 < ite1 && ite1 < alt1, con1 < alt1 );
-	CPPUNIT_IMPLY( con1 < ite1 && ite1 < emp1, con1 < emp1 );
-	CPPUNIT_IMPLY( con1 < ite1 && ite1 < eps1, con1 < eps1 );
-	CPPUNIT_IMPLY( con1 < ite1 && ite1 < sym1, con1 < sym1 );
-
-	CPPUNIT_IMPLY( con1 < emp1 && emp1 < alt1, con1 < alt1 );
-	CPPUNIT_IMPLY( con1 < emp1 && emp1 < ite1, con1 < ite1 );
-	CPPUNIT_IMPLY( con1 < emp1 && emp1 < eps1, con1 < eps1 );
-	CPPUNIT_IMPLY( con1 < emp1 && emp1 < sym1, con1 < sym1 );
-
-	CPPUNIT_IMPLY( con1 < eps1 && eps1 < alt1, con1 < alt1 );
-	CPPUNIT_IMPLY( con1 < eps1 && eps1 < ite1, con1 < ite1 );
-	CPPUNIT_IMPLY( con1 < eps1 && eps1 < emp1, con1 < emp1 );
-	CPPUNIT_IMPLY( con1 < eps1 && eps1 < sym1, con1 < sym1 );
-
-	CPPUNIT_IMPLY( con1 < sym1 && sym1 < alt1, con1 < alt1 );
-	CPPUNIT_IMPLY( con1 < sym1 && sym1 < ite1, con1 < ite1 );
-	CPPUNIT_IMPLY( con1 < sym1 && sym1 < emp1, con1 < emp1 );
-	CPPUNIT_IMPLY( con1 < sym1 && sym1 < eps1, con1 < eps1 );
-
-
-
-	CPPUNIT_IMPLY( ite1 < alt1 && alt1 < con1, ite1 < con1 );
-	CPPUNIT_IMPLY( ite1 < alt1 && alt1 < emp1, ite1 < emp1 );
-	CPPUNIT_IMPLY( ite1 < alt1 && alt1 < eps1, ite1 < eps1 );
-	CPPUNIT_IMPLY( ite1 < alt1 && alt1 < sym1, ite1 < sym1 );
-
-	CPPUNIT_IMPLY( ite1 < con1 && con1 < alt1, ite1 < alt1 );
-	CPPUNIT_IMPLY( ite1 < con1 && con1 < emp1, ite1 < emp1 );
-	CPPUNIT_IMPLY( ite1 < con1 && con1 < eps1, ite1 < eps1 );
-	CPPUNIT_IMPLY( ite1 < con1 && con1 < sym1, ite1 < sym1 );
-
-	CPPUNIT_IMPLY( ite1 < emp1 && emp1 < alt1, ite1 < alt1 );
-	CPPUNIT_IMPLY( ite1 < emp1 && emp1 < con1, ite1 < con1 );
-	CPPUNIT_IMPLY( ite1 < emp1 && emp1 < eps1, ite1 < eps1 );
-	CPPUNIT_IMPLY( ite1 < emp1 && emp1 < sym1, ite1 < sym1 );
-
-	CPPUNIT_IMPLY( ite1 < eps1 && eps1 < alt1, ite1 < alt1 );
-	CPPUNIT_IMPLY( ite1 < eps1 && eps1 < con1, ite1 < con1 );
-	CPPUNIT_IMPLY( ite1 < eps1 && eps1 < emp1, ite1 < emp1 );
-	CPPUNIT_IMPLY( ite1 < eps1 && eps1 < sym1, ite1 < sym1 );
-
-	CPPUNIT_IMPLY( ite1 < sym1 && sym1 < alt1, ite1 < alt1 );
-	CPPUNIT_IMPLY( ite1 < sym1 && sym1 < con1, ite1 < con1 );
-	CPPUNIT_IMPLY( ite1 < sym1 && sym1 < emp1, ite1 < emp1 );
-	CPPUNIT_IMPLY( ite1 < sym1 && sym1 < eps1, ite1 < eps1 );
-
-
-
-	CPPUNIT_IMPLY( emp1 < alt1 && alt1 < con1, emp1 < con1 );
-	CPPUNIT_IMPLY( emp1 < alt1 && alt1 < ite1, emp1 < ite1 );
-	CPPUNIT_IMPLY( emp1 < alt1 && alt1 < eps1, emp1 < eps1 );
-	CPPUNIT_IMPLY( emp1 < alt1 && alt1 < sym1, emp1 < sym1 );
-
-	CPPUNIT_IMPLY( emp1 < con1 && con1 < alt1, emp1 < alt1 );
-	CPPUNIT_IMPLY( emp1 < con1 && con1 < ite1, emp1 < ite1 );
-	CPPUNIT_IMPLY( emp1 < con1 && con1 < eps1, emp1 < eps1 );
-	CPPUNIT_IMPLY( emp1 < con1 && con1 < sym1, emp1 < sym1 );
-
-	CPPUNIT_IMPLY( emp1 < ite1 && ite1 < alt1, emp1 < alt1 );
-	CPPUNIT_IMPLY( emp1 < ite1 && ite1 < con1, emp1 < con1 );
-	CPPUNIT_IMPLY( emp1 < ite1 && ite1 < eps1, emp1 < eps1 );
-	CPPUNIT_IMPLY( emp1 < ite1 && ite1 < sym1, emp1 < sym1 );
-
-	CPPUNIT_IMPLY( emp1 < eps1 && eps1 < alt1, emp1 < alt1 );
-	CPPUNIT_IMPLY( emp1 < eps1 && eps1 < con1, emp1 < con1 );
-	CPPUNIT_IMPLY( emp1 < eps1 && eps1 < ite1, emp1 < ite1 );
-	CPPUNIT_IMPLY( emp1 < eps1 && eps1 < sym1, emp1 < sym1 );
-
-	CPPUNIT_IMPLY( emp1 < sym1 && sym1 < alt1, emp1 < alt1 );
-	CPPUNIT_IMPLY( emp1 < sym1 && sym1 < con1, emp1 < con1 );
-	CPPUNIT_IMPLY( emp1 < sym1 && sym1 < ite1, emp1 < ite1 );
-	CPPUNIT_IMPLY( emp1 < sym1 && sym1 < eps1, emp1 < eps1 );
-
-
-
-	CPPUNIT_IMPLY( eps1 < alt1 && alt1 < con1, eps1 < con1 );
-	CPPUNIT_IMPLY( eps1 < alt1 && alt1 < ite1, eps1 < ite1 );
-	CPPUNIT_IMPLY( eps1 < alt1 && alt1 < emp1, eps1 < emp1 );
-	CPPUNIT_IMPLY( eps1 < alt1 && alt1 < sym1, eps1 < sym1 );
-
-	CPPUNIT_IMPLY( eps1 < con1 && con1 < alt1, eps1 < alt1 );
-	CPPUNIT_IMPLY( eps1 < con1 && con1 < ite1, eps1 < ite1 );
-	CPPUNIT_IMPLY( eps1 < con1 && con1 < emp1, eps1 < emp1 );
-	CPPUNIT_IMPLY( eps1 < con1 && con1 < sym1, eps1 < sym1 );
-
-	CPPUNIT_IMPLY( eps1 < ite1 && ite1 < alt1, eps1 < alt1 );
-	CPPUNIT_IMPLY( eps1 < ite1 && ite1 < con1, eps1 < con1 );
-	CPPUNIT_IMPLY( eps1 < ite1 && ite1 < emp1, eps1 < emp1 );
-	CPPUNIT_IMPLY( eps1 < ite1 && ite1 < sym1, eps1 < sym1 );
-
-	CPPUNIT_IMPLY( eps1 < emp1 && emp1 < alt1, eps1 < alt1 );
-	CPPUNIT_IMPLY( eps1 < emp1 && emp1 < con1, eps1 < con1 );
-	CPPUNIT_IMPLY( eps1 < emp1 && emp1 < ite1, eps1 < ite1 );
-	CPPUNIT_IMPLY( eps1 < emp1 && emp1 < sym1, eps1 < sym1 );
-
-	CPPUNIT_IMPLY( eps1 < sym1 && sym1 < alt1, eps1 < alt1 );
-	CPPUNIT_IMPLY( eps1 < sym1 && sym1 < con1, eps1 < con1 );
-	CPPUNIT_IMPLY( eps1 < sym1 && sym1 < ite1, eps1 < ite1 );
-	CPPUNIT_IMPLY( eps1 < sym1 && sym1 < emp1, eps1 < emp1 );
-
-
-
-	CPPUNIT_IMPLY( sym1 < alt1 && alt1 < con1, sym1 < con1 );
-	CPPUNIT_IMPLY( sym1 < alt1 && alt1 < ite1, sym1 < ite1 );
-	CPPUNIT_IMPLY( sym1 < alt1 && alt1 < emp1, sym1 < emp1 );
-	CPPUNIT_IMPLY( sym1 < alt1 && alt1 < eps1, sym1 < eps1 );
-
-	CPPUNIT_IMPLY( sym1 < con1 && con1 < alt1, sym1 < alt1 );
-	CPPUNIT_IMPLY( sym1 < con1 && con1 < ite1, sym1 < ite1 );
-	CPPUNIT_IMPLY( sym1 < con1 && con1 < emp1, sym1 < emp1 );
-	CPPUNIT_IMPLY( sym1 < con1 && con1 < eps1, sym1 < eps1 );
-
-	CPPUNIT_IMPLY( sym1 < ite1 && ite1 < alt1, sym1 < alt1 );
-	CPPUNIT_IMPLY( sym1 < ite1 && ite1 < con1, sym1 < con1 );
-	CPPUNIT_IMPLY( sym1 < ite1 && ite1 < emp1, sym1 < emp1 );
-	CPPUNIT_IMPLY( sym1 < ite1 && ite1 < eps1, sym1 < eps1 );
-
-	CPPUNIT_IMPLY( sym1 < emp1 && emp1 < alt1, sym1 < alt1 );
-	CPPUNIT_IMPLY( sym1 < emp1 && emp1 < con1, sym1 < con1 );
-	CPPUNIT_IMPLY( sym1 < emp1 && emp1 < ite1, sym1 < ite1 );
-	CPPUNIT_IMPLY( sym1 < emp1 && emp1 < eps1, sym1 < eps1 );
-
-	CPPUNIT_IMPLY( sym1 < eps1 && eps1 < alt1, sym1 < alt1 );
-	CPPUNIT_IMPLY( sym1 < eps1 && eps1 < con1, sym1 < con1 );
-	CPPUNIT_IMPLY( sym1 < eps1 && eps1 < ite1, sym1 < ite1 );
-	CPPUNIT_IMPLY( sym1 < eps1 && eps1 < emp1, sym1 < emp1 );
-	*/
+	 * rte::UnboundedRTESymbol s1("1");
+	 * rte::UnboundedRTEEmpty e1;
+	 * rte::UnboundedRTEEpsilon e2;
+	 * rte::UnboundedRTEIteration i1(s1);
+	 * rte::UnboundedRTEConcatenation a1;
+	 * a1.appendElement(s1);
+	 * a1.appendElement(s1);
+	 * rte::UnboundedRTEAlternation c1;
+	 * c1.appendElement(s1);
+	 * c1.appendElement(s1);
+	 *
+	 * rte::UnboundedRTE alt1(a1);
+	 * rte::UnboundedRTE con1(c1);
+	 * rte::UnboundedRTE ite1(i1);
+	 * rte::UnboundedRTE emp1(e1);
+	 * rte::UnboundedRTE eps1(e2);
+	 * rte::UnboundedRTE sym1(s1);
+	 *
+	 * CPPUNIT_EXCLUSIVE_OR(alt1 < con1, con1 < alt1);
+	 * CPPUNIT_EXCLUSIVE_OR(alt1 < ite1, ite1 < alt1);
+	 * CPPUNIT_EXCLUSIVE_OR(alt1 < emp1, emp1 < alt1);
+	 * CPPUNIT_EXCLUSIVE_OR(alt1 < eps1, eps1 < alt1);
+	 * CPPUNIT_EXCLUSIVE_OR(alt1 < sym1, sym1 < alt1);
+	 *
+	 * CPPUNIT_EXCLUSIVE_OR(con1 < ite1, ite1 < con1);
+	 * CPPUNIT_EXCLUSIVE_OR(con1 < emp1, emp1 < con1);
+	 * CPPUNIT_EXCLUSIVE_OR(con1 < eps1, eps1 < con1);
+	 * CPPUNIT_EXCLUSIVE_OR(con1 < sym1, sym1 < con1);
+	 *
+	 * CPPUNIT_EXCLUSIVE_OR(ite1 < emp1, emp1 < ite1);
+	 * CPPUNIT_EXCLUSIVE_OR(ite1 < eps1, eps1 < ite1);
+	 * CPPUNIT_EXCLUSIVE_OR(ite1 < sym1, sym1 < ite1);
+	 *
+	 * CPPUNIT_EXCLUSIVE_OR(emp1 < eps1, eps1 < emp1);
+	 * CPPUNIT_EXCLUSIVE_OR(emp1 < sym1, sym1 < emp1);
+	 *
+	 * CPPUNIT_EXCLUSIVE_OR(eps1 < sym1, sym1 < eps1);
+	 *
+	 * CPPUNIT_IMPLY( alt1 < con1 && con1 < ite1, alt1 < ite1 );
+	 * CPPUNIT_IMPLY( alt1 < con1 && con1 < emp1, alt1 < emp1 );
+	 * CPPUNIT_IMPLY( alt1 < con1 && con1 < eps1, alt1 < eps1 );
+	 * CPPUNIT_IMPLY( alt1 < con1 && con1 < sym1, alt1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( alt1 < ite1 && ite1 < con1, alt1 < con1 );
+	 * CPPUNIT_IMPLY( alt1 < ite1 && ite1 < emp1, alt1 < emp1 );
+	 * CPPUNIT_IMPLY( alt1 < ite1 && ite1 < eps1, alt1 < eps1 );
+	 * CPPUNIT_IMPLY( alt1 < ite1 && ite1 < sym1, alt1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( alt1 < emp1 && emp1 < con1, alt1 < con1 );
+	 * CPPUNIT_IMPLY( alt1 < emp1 && emp1 < ite1, alt1 < ite1 );
+	 * CPPUNIT_IMPLY( alt1 < emp1 && emp1 < eps1, alt1 < eps1 );
+	 * CPPUNIT_IMPLY( alt1 < emp1 && emp1 < sym1, alt1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( alt1 < eps1 && eps1 < con1, alt1 < con1 );
+	 * CPPUNIT_IMPLY( alt1 < eps1 && eps1 < ite1, alt1 < ite1 );
+	 * CPPUNIT_IMPLY( alt1 < eps1 && eps1 < emp1, alt1 < emp1 );
+	 * CPPUNIT_IMPLY( alt1 < eps1 && eps1 < sym1, alt1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( alt1 < sym1 && sym1 < con1, alt1 < con1 );
+	 * CPPUNIT_IMPLY( alt1 < sym1 && sym1 < ite1, alt1 < ite1 );
+	 * CPPUNIT_IMPLY( alt1 < sym1 && sym1 < emp1, alt1 < emp1 );
+	 * CPPUNIT_IMPLY( alt1 < sym1 && sym1 < eps1, alt1 < eps1 );
+	 *
+	 *
+	 *
+	 * CPPUNIT_IMPLY( con1 < alt1 && alt1 < ite1, con1 < ite1 );
+	 * CPPUNIT_IMPLY( con1 < alt1 && alt1 < emp1, con1 < emp1 );
+	 * CPPUNIT_IMPLY( con1 < alt1 && alt1 < eps1, con1 < eps1 );
+	 * CPPUNIT_IMPLY( con1 < alt1 && alt1 < sym1, con1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( con1 < ite1 && ite1 < alt1, con1 < alt1 );
+	 * CPPUNIT_IMPLY( con1 < ite1 && ite1 < emp1, con1 < emp1 );
+	 * CPPUNIT_IMPLY( con1 < ite1 && ite1 < eps1, con1 < eps1 );
+	 * CPPUNIT_IMPLY( con1 < ite1 && ite1 < sym1, con1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( con1 < emp1 && emp1 < alt1, con1 < alt1 );
+	 * CPPUNIT_IMPLY( con1 < emp1 && emp1 < ite1, con1 < ite1 );
+	 * CPPUNIT_IMPLY( con1 < emp1 && emp1 < eps1, con1 < eps1 );
+	 * CPPUNIT_IMPLY( con1 < emp1 && emp1 < sym1, con1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( con1 < eps1 && eps1 < alt1, con1 < alt1 );
+	 * CPPUNIT_IMPLY( con1 < eps1 && eps1 < ite1, con1 < ite1 );
+	 * CPPUNIT_IMPLY( con1 < eps1 && eps1 < emp1, con1 < emp1 );
+	 * CPPUNIT_IMPLY( con1 < eps1 && eps1 < sym1, con1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( con1 < sym1 && sym1 < alt1, con1 < alt1 );
+	 * CPPUNIT_IMPLY( con1 < sym1 && sym1 < ite1, con1 < ite1 );
+	 * CPPUNIT_IMPLY( con1 < sym1 && sym1 < emp1, con1 < emp1 );
+	 * CPPUNIT_IMPLY( con1 < sym1 && sym1 < eps1, con1 < eps1 );
+	 *
+	 *
+	 *
+	 * CPPUNIT_IMPLY( ite1 < alt1 && alt1 < con1, ite1 < con1 );
+	 * CPPUNIT_IMPLY( ite1 < alt1 && alt1 < emp1, ite1 < emp1 );
+	 * CPPUNIT_IMPLY( ite1 < alt1 && alt1 < eps1, ite1 < eps1 );
+	 * CPPUNIT_IMPLY( ite1 < alt1 && alt1 < sym1, ite1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( ite1 < con1 && con1 < alt1, ite1 < alt1 );
+	 * CPPUNIT_IMPLY( ite1 < con1 && con1 < emp1, ite1 < emp1 );
+	 * CPPUNIT_IMPLY( ite1 < con1 && con1 < eps1, ite1 < eps1 );
+	 * CPPUNIT_IMPLY( ite1 < con1 && con1 < sym1, ite1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( ite1 < emp1 && emp1 < alt1, ite1 < alt1 );
+	 * CPPUNIT_IMPLY( ite1 < emp1 && emp1 < con1, ite1 < con1 );
+	 * CPPUNIT_IMPLY( ite1 < emp1 && emp1 < eps1, ite1 < eps1 );
+	 * CPPUNIT_IMPLY( ite1 < emp1 && emp1 < sym1, ite1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( ite1 < eps1 && eps1 < alt1, ite1 < alt1 );
+	 * CPPUNIT_IMPLY( ite1 < eps1 && eps1 < con1, ite1 < con1 );
+	 * CPPUNIT_IMPLY( ite1 < eps1 && eps1 < emp1, ite1 < emp1 );
+	 * CPPUNIT_IMPLY( ite1 < eps1 && eps1 < sym1, ite1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( ite1 < sym1 && sym1 < alt1, ite1 < alt1 );
+	 * CPPUNIT_IMPLY( ite1 < sym1 && sym1 < con1, ite1 < con1 );
+	 * CPPUNIT_IMPLY( ite1 < sym1 && sym1 < emp1, ite1 < emp1 );
+	 * CPPUNIT_IMPLY( ite1 < sym1 && sym1 < eps1, ite1 < eps1 );
+	 *
+	 *
+	 *
+	 * CPPUNIT_IMPLY( emp1 < alt1 && alt1 < con1, emp1 < con1 );
+	 * CPPUNIT_IMPLY( emp1 < alt1 && alt1 < ite1, emp1 < ite1 );
+	 * CPPUNIT_IMPLY( emp1 < alt1 && alt1 < eps1, emp1 < eps1 );
+	 * CPPUNIT_IMPLY( emp1 < alt1 && alt1 < sym1, emp1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( emp1 < con1 && con1 < alt1, emp1 < alt1 );
+	 * CPPUNIT_IMPLY( emp1 < con1 && con1 < ite1, emp1 < ite1 );
+	 * CPPUNIT_IMPLY( emp1 < con1 && con1 < eps1, emp1 < eps1 );
+	 * CPPUNIT_IMPLY( emp1 < con1 && con1 < sym1, emp1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( emp1 < ite1 && ite1 < alt1, emp1 < alt1 );
+	 * CPPUNIT_IMPLY( emp1 < ite1 && ite1 < con1, emp1 < con1 );
+	 * CPPUNIT_IMPLY( emp1 < ite1 && ite1 < eps1, emp1 < eps1 );
+	 * CPPUNIT_IMPLY( emp1 < ite1 && ite1 < sym1, emp1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( emp1 < eps1 && eps1 < alt1, emp1 < alt1 );
+	 * CPPUNIT_IMPLY( emp1 < eps1 && eps1 < con1, emp1 < con1 );
+	 * CPPUNIT_IMPLY( emp1 < eps1 && eps1 < ite1, emp1 < ite1 );
+	 * CPPUNIT_IMPLY( emp1 < eps1 && eps1 < sym1, emp1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( emp1 < sym1 && sym1 < alt1, emp1 < alt1 );
+	 * CPPUNIT_IMPLY( emp1 < sym1 && sym1 < con1, emp1 < con1 );
+	 * CPPUNIT_IMPLY( emp1 < sym1 && sym1 < ite1, emp1 < ite1 );
+	 * CPPUNIT_IMPLY( emp1 < sym1 && sym1 < eps1, emp1 < eps1 );
+	 *
+	 *
+	 *
+	 * CPPUNIT_IMPLY( eps1 < alt1 && alt1 < con1, eps1 < con1 );
+	 * CPPUNIT_IMPLY( eps1 < alt1 && alt1 < ite1, eps1 < ite1 );
+	 * CPPUNIT_IMPLY( eps1 < alt1 && alt1 < emp1, eps1 < emp1 );
+	 * CPPUNIT_IMPLY( eps1 < alt1 && alt1 < sym1, eps1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( eps1 < con1 && con1 < alt1, eps1 < alt1 );
+	 * CPPUNIT_IMPLY( eps1 < con1 && con1 < ite1, eps1 < ite1 );
+	 * CPPUNIT_IMPLY( eps1 < con1 && con1 < emp1, eps1 < emp1 );
+	 * CPPUNIT_IMPLY( eps1 < con1 && con1 < sym1, eps1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( eps1 < ite1 && ite1 < alt1, eps1 < alt1 );
+	 * CPPUNIT_IMPLY( eps1 < ite1 && ite1 < con1, eps1 < con1 );
+	 * CPPUNIT_IMPLY( eps1 < ite1 && ite1 < emp1, eps1 < emp1 );
+	 * CPPUNIT_IMPLY( eps1 < ite1 && ite1 < sym1, eps1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( eps1 < emp1 && emp1 < alt1, eps1 < alt1 );
+	 * CPPUNIT_IMPLY( eps1 < emp1 && emp1 < con1, eps1 < con1 );
+	 * CPPUNIT_IMPLY( eps1 < emp1 && emp1 < ite1, eps1 < ite1 );
+	 * CPPUNIT_IMPLY( eps1 < emp1 && emp1 < sym1, eps1 < sym1 );
+	 *
+	 * CPPUNIT_IMPLY( eps1 < sym1 && sym1 < alt1, eps1 < alt1 );
+	 * CPPUNIT_IMPLY( eps1 < sym1 && sym1 < con1, eps1 < con1 );
+	 * CPPUNIT_IMPLY( eps1 < sym1 && sym1 < ite1, eps1 < ite1 );
+	 * CPPUNIT_IMPLY( eps1 < sym1 && sym1 < emp1, eps1 < emp1 );
+	 *
+	 *
+	 *
+	 * CPPUNIT_IMPLY( sym1 < alt1 && alt1 < con1, sym1 < con1 );
+	 * CPPUNIT_IMPLY( sym1 < alt1 && alt1 < ite1, sym1 < ite1 );
+	 * CPPUNIT_IMPLY( sym1 < alt1 && alt1 < emp1, sym1 < emp1 );
+	 * CPPUNIT_IMPLY( sym1 < alt1 && alt1 < eps1, sym1 < eps1 );
+	 *
+	 * CPPUNIT_IMPLY( sym1 < con1 && con1 < alt1, sym1 < alt1 );
+	 * CPPUNIT_IMPLY( sym1 < con1 && con1 < ite1, sym1 < ite1 );
+	 * CPPUNIT_IMPLY( sym1 < con1 && con1 < emp1, sym1 < emp1 );
+	 * CPPUNIT_IMPLY( sym1 < con1 && con1 < eps1, sym1 < eps1 );
+	 *
+	 * CPPUNIT_IMPLY( sym1 < ite1 && ite1 < alt1, sym1 < alt1 );
+	 * CPPUNIT_IMPLY( sym1 < ite1 && ite1 < con1, sym1 < con1 );
+	 * CPPUNIT_IMPLY( sym1 < ite1 && ite1 < emp1, sym1 < emp1 );
+	 * CPPUNIT_IMPLY( sym1 < ite1 && ite1 < eps1, sym1 < eps1 );
+	 *
+	 * CPPUNIT_IMPLY( sym1 < emp1 && emp1 < alt1, sym1 < alt1 );
+	 * CPPUNIT_IMPLY( sym1 < emp1 && emp1 < con1, sym1 < con1 );
+	 * CPPUNIT_IMPLY( sym1 < emp1 && emp1 < ite1, sym1 < ite1 );
+	 * CPPUNIT_IMPLY( sym1 < emp1 && emp1 < eps1, sym1 < eps1 );
+	 *
+	 * CPPUNIT_IMPLY( sym1 < eps1 && eps1 < alt1, sym1 < alt1 );
+	 * CPPUNIT_IMPLY( sym1 < eps1 && eps1 < con1, sym1 < con1 );
+	 * CPPUNIT_IMPLY( sym1 < eps1 && eps1 < ite1, sym1 < ite1 );
+	 * CPPUNIT_IMPLY( sym1 < eps1 && eps1 < emp1, sym1 < emp1 );
+	 */
 }
 
-void RTETest::testOrder2() {
+void RTETest::testOrder2 ( ) {
 	/*
-	rte::UnboundedRTESymbol s1("1");
-	rte::UnboundedRTESymbol s2("2");
-	rte::UnboundedRTESymbol s3("3");
-
-	rte::UnboundedRTEEmpty e1;
-	rte::UnboundedRTEEpsilon e2;
-
-	rte::UnboundedRTEIteration i1(s1);
-	rte::UnboundedRTEIteration i2(s2);
-	rte::UnboundedRTEIteration i3(s3);
-
-	rte::UnboundedRTEAlternation a1;
-	a1.appendElement(s1);
-	a1.appendElement(s1);
-	rte::UnboundedRTEAlternation a2;
-	a2.appendElement(s1);
-	a2.appendElement(s2);
-	rte::UnboundedRTEAlternation a3;
-	a3.appendElement(s1);
-	a3.appendElement(s3);
-	rte::UnboundedRTEAlternation a4;
-	a4.appendElement(s2);
-	a4.appendElement(s1);
-	rte::UnboundedRTEAlternation a5;
-	a5.appendElement(s2);
-	a5.appendElement(s2);
-	rte::UnboundedRTEAlternation a6;
-	a6.appendElement(s2);
-	a6.appendElement(s3);
-	rte::UnboundedRTEAlternation a7;
-	a7.appendElement(s3);
-	a7.appendElement(s1);
-	rte::UnboundedRTEAlternation a8;
-	a8.appendElement(s3);
-	a8.appendElement(s2);
-	rte::UnboundedRTEAlternation a9;
-	a9.appendElement(s3);
-	a9.appendElement(s3);
-
-	rte::UnboundedRTEConcatenation c1;
-	c1.appendElement(s1);
-	c1.appendElement(s1);
-	rte::UnboundedRTEConcatenation c2;
-	c2.appendElement(s1);
-	c2.appendElement(s2);
-	rte::UnboundedRTEConcatenation c3;
-	c3.appendElement(s1);
-	c3.appendElement(s3);
-	rte::UnboundedRTEConcatenation c4;
-	c4.appendElement(s2);
-	c4.appendElement(s1);
-	rte::UnboundedRTEConcatenation c5;
-	c5.appendElement(s2);
-	c5.appendElement(s2);
-	rte::UnboundedRTEConcatenation c6;
-	c6.appendElement(s2);
-	c6.appendElement(s3);
-	rte::UnboundedRTEConcatenation c7;
-	c7.appendElement(s3);
-	c7.appendElement(s1);
-	rte::UnboundedRTEConcatenation c8;
-	c8.appendElement(s3);
-	c8.appendElement(s2);
-	rte::UnboundedRTEConcatenation c9;
-	c9.appendElement(s3);
-	c9.appendElement(s3);
-
-	rte::UnboundedRTE alt1(a1);
-	rte::UnboundedRTE alt2(a2);
-	rte::UnboundedRTE alt3(a3);
-	rte::UnboundedRTE alt4(a4);
-	rte::UnboundedRTE alt5(a5);
-	rte::UnboundedRTE alt6(a6);
-	rte::UnboundedRTE alt7(a7);
-	rte::UnboundedRTE alt8(a8);
-	rte::UnboundedRTE alt9(a9);
-
-	rte::UnboundedRTE con1(c1);
-	rte::UnboundedRTE con2(c2);
-	rte::UnboundedRTE con3(c3);
-	rte::UnboundedRTE con4(c4);
-	rte::UnboundedRTE con5(c5);
-	rte::UnboundedRTE con6(c6);
-	rte::UnboundedRTE con7(c7);
-	rte::UnboundedRTE con8(c8);
-	rte::UnboundedRTE con9(c9);
-
-	rte::UnboundedRTE ite1(i1);
-	rte::UnboundedRTE ite2(i2);
-	rte::UnboundedRTE ite3(i3);
-
-	rte::UnboundedRTE emp1(e1);
-	rte::UnboundedRTE eps1(e2);
-
-	rte::UnboundedRTE sym1(s1);
-	rte::UnboundedRTE sym2(s2);
-	rte::UnboundedRTE sym3(s3);
-
-
-
-	CPPUNIT_ASSERT(alt1 == alt1);
-	CPPUNIT_ASSERT(alt1 < alt2);
-	CPPUNIT_ASSERT(alt1 < alt3);
-	CPPUNIT_ASSERT(alt1 < alt4);
-	CPPUNIT_ASSERT(alt1 < alt5);
-	CPPUNIT_ASSERT(alt1 < alt6);
-	CPPUNIT_ASSERT(alt1 < alt7);
-	CPPUNIT_ASSERT(alt1 < alt8);
-	CPPUNIT_ASSERT(alt1 < alt9);
-
-	CPPUNIT_ASSERT(alt2 > alt1);
-	CPPUNIT_ASSERT(alt2 == alt2);
-	CPPUNIT_ASSERT(alt2 < alt3);
-	CPPUNIT_ASSERT(alt2 < alt4);
-	CPPUNIT_ASSERT(alt2 < alt5);
-	CPPUNIT_ASSERT(alt2 < alt6);
-	CPPUNIT_ASSERT(alt2 < alt7);
-	CPPUNIT_ASSERT(alt2 < alt8);
-	CPPUNIT_ASSERT(alt2 < alt9);
-
-	CPPUNIT_ASSERT(alt3 > alt1);
-	CPPUNIT_ASSERT(alt3 > alt2);
-	CPPUNIT_ASSERT(alt3 == alt3);
-	CPPUNIT_ASSERT(alt3 < alt4);
-	CPPUNIT_ASSERT(alt3 < alt5);
-	CPPUNIT_ASSERT(alt3 < alt6);
-	CPPUNIT_ASSERT(alt3 < alt7);
-	CPPUNIT_ASSERT(alt3 < alt8);
-	CPPUNIT_ASSERT(alt3 < alt9);
-
-	CPPUNIT_ASSERT(alt4 > alt1);
-	CPPUNIT_ASSERT(alt4 > alt2);
-	CPPUNIT_ASSERT(alt4 > alt3);
-	CPPUNIT_ASSERT(alt4 == alt4);
-	CPPUNIT_ASSERT(alt4 < alt5);
-	CPPUNIT_ASSERT(alt4 < alt6);
-	CPPUNIT_ASSERT(alt4 < alt7);
-	CPPUNIT_ASSERT(alt4 < alt8);
-	CPPUNIT_ASSERT(alt4 < alt9);
-
-	CPPUNIT_ASSERT(alt5 > alt1);
-	CPPUNIT_ASSERT(alt5 > alt2);
-	CPPUNIT_ASSERT(alt5 > alt3);
-	CPPUNIT_ASSERT(alt5 > alt4);
-	CPPUNIT_ASSERT(alt5 == alt5);
-	CPPUNIT_ASSERT(alt5 < alt6);
-	CPPUNIT_ASSERT(alt5 < alt7);
-	CPPUNIT_ASSERT(alt5 < alt8);
-	CPPUNIT_ASSERT(alt5 < alt9);
-
-	CPPUNIT_ASSERT(alt6 > alt1);
-	CPPUNIT_ASSERT(alt6 > alt2);
-	CPPUNIT_ASSERT(alt6 > alt3);
-	CPPUNIT_ASSERT(alt6 > alt4);
-	CPPUNIT_ASSERT(alt6 > alt5);
-	CPPUNIT_ASSERT(alt6 == alt6);
-	CPPUNIT_ASSERT(alt6 < alt7);
-	CPPUNIT_ASSERT(alt6 < alt8);
-	CPPUNIT_ASSERT(alt6 < alt9);
-
-	CPPUNIT_ASSERT(alt7 > alt1);
-	CPPUNIT_ASSERT(alt7 > alt2);
-	CPPUNIT_ASSERT(alt7 > alt3);
-	CPPUNIT_ASSERT(alt7 > alt4);
-	CPPUNIT_ASSERT(alt7 > alt5);
-	CPPUNIT_ASSERT(alt7 > alt6);
-	CPPUNIT_ASSERT(alt7 == alt7);
-	CPPUNIT_ASSERT(alt7 < alt8);
-	CPPUNIT_ASSERT(alt7 < alt9);
-
-	CPPUNIT_ASSERT(alt8 > alt1);
-	CPPUNIT_ASSERT(alt8 > alt2);
-	CPPUNIT_ASSERT(alt8 > alt3);
-	CPPUNIT_ASSERT(alt8 > alt4);
-	CPPUNIT_ASSERT(alt8 > alt5);
-	CPPUNIT_ASSERT(alt8 > alt6);
-	CPPUNIT_ASSERT(alt8 > alt7);
-	CPPUNIT_ASSERT(alt8 == alt8);
-	CPPUNIT_ASSERT(alt8 < alt9);
-
-	CPPUNIT_ASSERT(alt9 > alt1);
-	CPPUNIT_ASSERT(alt9 > alt2);
-	CPPUNIT_ASSERT(alt9 > alt3);
-	CPPUNIT_ASSERT(alt9 > alt4);
-	CPPUNIT_ASSERT(alt9 > alt5);
-	CPPUNIT_ASSERT(alt9 > alt6);
-	CPPUNIT_ASSERT(alt9 > alt7);
-	CPPUNIT_ASSERT(alt9 > alt8);
-	CPPUNIT_ASSERT(alt9 == alt9);
-
-
-
-	CPPUNIT_ASSERT(con1 == con1);
-	CPPUNIT_ASSERT(con1 < con2);
-	CPPUNIT_ASSERT(con1 < con3);
-	CPPUNIT_ASSERT(con1 < con4);
-	CPPUNIT_ASSERT(con1 < con5);
-	CPPUNIT_ASSERT(con1 < con6);
-	CPPUNIT_ASSERT(con1 < con7);
-	CPPUNIT_ASSERT(con1 < con8);
-	CPPUNIT_ASSERT(con1 < con9);
-
-	CPPUNIT_ASSERT(con2 > con1);
-	CPPUNIT_ASSERT(con2 == con2);
-	CPPUNIT_ASSERT(con2 < con3);
-	CPPUNIT_ASSERT(con2 < con4);
-	CPPUNIT_ASSERT(con2 < con5);
-	CPPUNIT_ASSERT(con2 < con6);
-	CPPUNIT_ASSERT(con2 < con7);
-	CPPUNIT_ASSERT(con2 < con8);
-	CPPUNIT_ASSERT(con2 < con9);
-
-	CPPUNIT_ASSERT(con3 > con1);
-	CPPUNIT_ASSERT(con3 > con2);
-	CPPUNIT_ASSERT(con3 == con3);
-	CPPUNIT_ASSERT(con3 < con4);
-	CPPUNIT_ASSERT(con3 < con5);
-	CPPUNIT_ASSERT(con3 < con6);
-	CPPUNIT_ASSERT(con3 < con7);
-	CPPUNIT_ASSERT(con3 < con8);
-	CPPUNIT_ASSERT(con3 < con9);
-
-	CPPUNIT_ASSERT(con4 > con1);
-	CPPUNIT_ASSERT(con4 > con2);
-	CPPUNIT_ASSERT(con4 > con3);
-	CPPUNIT_ASSERT(con4 == con4);
-	CPPUNIT_ASSERT(con4 < con5);
-	CPPUNIT_ASSERT(con4 < con6);
-	CPPUNIT_ASSERT(con4 < con7);
-	CPPUNIT_ASSERT(con4 < con8);
-	CPPUNIT_ASSERT(con4 < con9);
-
-	CPPUNIT_ASSERT(con5 > con1);
-	CPPUNIT_ASSERT(con5 > con2);
-	CPPUNIT_ASSERT(con5 > con3);
-	CPPUNIT_ASSERT(con5 > con4);
-	CPPUNIT_ASSERT(con5 == con5);
-	CPPUNIT_ASSERT(con5 < con6);
-	CPPUNIT_ASSERT(con5 < con7);
-	CPPUNIT_ASSERT(con5 < con8);
-	CPPUNIT_ASSERT(con5 < con9);
-
-	CPPUNIT_ASSERT(con6 > con1);
-	CPPUNIT_ASSERT(con6 > con2);
-	CPPUNIT_ASSERT(con6 > con3);
-	CPPUNIT_ASSERT(con6 > con4);
-	CPPUNIT_ASSERT(con6 > con5);
-	CPPUNIT_ASSERT(con6 == con6);
-	CPPUNIT_ASSERT(con6 < con7);
-	CPPUNIT_ASSERT(con6 < con8);
-	CPPUNIT_ASSERT(con6 < con9);
-
-	CPPUNIT_ASSERT(con7 > con1);
-	CPPUNIT_ASSERT(con7 > con2);
-	CPPUNIT_ASSERT(con7 > con3);
-	CPPUNIT_ASSERT(con7 > con4);
-	CPPUNIT_ASSERT(con7 > con5);
-	CPPUNIT_ASSERT(con7 > con6);
-	CPPUNIT_ASSERT(con7 == con7);
-	CPPUNIT_ASSERT(con7 < con8);
-	CPPUNIT_ASSERT(con7 < con9);
-
-	CPPUNIT_ASSERT(con8 > con1);
-	CPPUNIT_ASSERT(con8 > con2);
-	CPPUNIT_ASSERT(con8 > con3);
-	CPPUNIT_ASSERT(con8 > con4);
-	CPPUNIT_ASSERT(con8 > con5);
-	CPPUNIT_ASSERT(con8 > con6);
-	CPPUNIT_ASSERT(con8 > con7);
-	CPPUNIT_ASSERT(con8 == con8);
-	CPPUNIT_ASSERT(con8 < con9);
-
-	CPPUNIT_ASSERT(con9 > con1);
-	CPPUNIT_ASSERT(con9 > con2);
-	CPPUNIT_ASSERT(con9 > con3);
-	CPPUNIT_ASSERT(con9 > con4);
-	CPPUNIT_ASSERT(con9 > con5);
-	CPPUNIT_ASSERT(con9 > con6);
-	CPPUNIT_ASSERT(con9 > con7);
-	CPPUNIT_ASSERT(con9 > con8);
-	CPPUNIT_ASSERT(con9 == con9);
-
-
-	CPPUNIT_ASSERT(ite1 == ite1);
-	CPPUNIT_ASSERT(ite1 < ite2);
-	CPPUNIT_ASSERT(ite1 < ite3);
-
-	CPPUNIT_ASSERT(ite2 > ite1);
-	CPPUNIT_ASSERT(ite2 == ite2);
-	CPPUNIT_ASSERT(ite2 < ite3);
-
-	CPPUNIT_ASSERT(ite3 > ite1);
-	CPPUNIT_ASSERT(ite3 > ite2);
-	CPPUNIT_ASSERT(ite3 == ite3);
-
-
-
-	CPPUNIT_ASSERT(emp1 == emp1);
-
-
-
-	CPPUNIT_ASSERT(eps1 == eps1);
-
-
-
-	CPPUNIT_ASSERT(sym1 == sym1);
-	CPPUNIT_ASSERT(sym1 < sym2);
-	CPPUNIT_ASSERT(sym1 < sym3);
-
-	CPPUNIT_ASSERT(sym2 > sym1);
-	CPPUNIT_ASSERT(sym2 == sym2);
-	CPPUNIT_ASSERT(sym2 < sym3);
-
-	CPPUNIT_ASSERT(sym3 > sym1);
-	CPPUNIT_ASSERT(sym3 > sym2);
-	CPPUNIT_ASSERT(sym3 == sym3);
-	*/
+	 * rte::UnboundedRTESymbol s1("1");
+	 * rte::UnboundedRTESymbol s2("2");
+	 * rte::UnboundedRTESymbol s3("3");
+	 *
+	 * rte::UnboundedRTEEmpty e1;
+	 * rte::UnboundedRTEEpsilon e2;
+	 *
+	 * rte::UnboundedRTEIteration i1(s1);
+	 * rte::UnboundedRTEIteration i2(s2);
+	 * rte::UnboundedRTEIteration i3(s3);
+	 *
+	 * rte::UnboundedRTEAlternation a1;
+	 * a1.appendElement(s1);
+	 * a1.appendElement(s1);
+	 * rte::UnboundedRTEAlternation a2;
+	 * a2.appendElement(s1);
+	 * a2.appendElement(s2);
+	 * rte::UnboundedRTEAlternation a3;
+	 * a3.appendElement(s1);
+	 * a3.appendElement(s3);
+	 * rte::UnboundedRTEAlternation a4;
+	 * a4.appendElement(s2);
+	 * a4.appendElement(s1);
+	 * rte::UnboundedRTEAlternation a5;
+	 * a5.appendElement(s2);
+	 * a5.appendElement(s2);
+	 * rte::UnboundedRTEAlternation a6;
+	 * a6.appendElement(s2);
+	 * a6.appendElement(s3);
+	 * rte::UnboundedRTEAlternation a7;
+	 * a7.appendElement(s3);
+	 * a7.appendElement(s1);
+	 * rte::UnboundedRTEAlternation a8;
+	 * a8.appendElement(s3);
+	 * a8.appendElement(s2);
+	 * rte::UnboundedRTEAlternation a9;
+	 * a9.appendElement(s3);
+	 * a9.appendElement(s3);
+	 *
+	 * rte::UnboundedRTEConcatenation c1;
+	 * c1.appendElement(s1);
+	 * c1.appendElement(s1);
+	 * rte::UnboundedRTEConcatenation c2;
+	 * c2.appendElement(s1);
+	 * c2.appendElement(s2);
+	 * rte::UnboundedRTEConcatenation c3;
+	 * c3.appendElement(s1);
+	 * c3.appendElement(s3);
+	 * rte::UnboundedRTEConcatenation c4;
+	 * c4.appendElement(s2);
+	 * c4.appendElement(s1);
+	 * rte::UnboundedRTEConcatenation c5;
+	 * c5.appendElement(s2);
+	 * c5.appendElement(s2);
+	 * rte::UnboundedRTEConcatenation c6;
+	 * c6.appendElement(s2);
+	 * c6.appendElement(s3);
+	 * rte::UnboundedRTEConcatenation c7;
+	 * c7.appendElement(s3);
+	 * c7.appendElement(s1);
+	 * rte::UnboundedRTEConcatenation c8;
+	 * c8.appendElement(s3);
+	 * c8.appendElement(s2);
+	 * rte::UnboundedRTEConcatenation c9;
+	 * c9.appendElement(s3);
+	 * c9.appendElement(s3);
+	 *
+	 * rte::UnboundedRTE alt1(a1);
+	 * rte::UnboundedRTE alt2(a2);
+	 * rte::UnboundedRTE alt3(a3);
+	 * rte::UnboundedRTE alt4(a4);
+	 * rte::UnboundedRTE alt5(a5);
+	 * rte::UnboundedRTE alt6(a6);
+	 * rte::UnboundedRTE alt7(a7);
+	 * rte::UnboundedRTE alt8(a8);
+	 * rte::UnboundedRTE alt9(a9);
+	 *
+	 * rte::UnboundedRTE con1(c1);
+	 * rte::UnboundedRTE con2(c2);
+	 * rte::UnboundedRTE con3(c3);
+	 * rte::UnboundedRTE con4(c4);
+	 * rte::UnboundedRTE con5(c5);
+	 * rte::UnboundedRTE con6(c6);
+	 * rte::UnboundedRTE con7(c7);
+	 * rte::UnboundedRTE con8(c8);
+	 * rte::UnboundedRTE con9(c9);
+	 *
+	 * rte::UnboundedRTE ite1(i1);
+	 * rte::UnboundedRTE ite2(i2);
+	 * rte::UnboundedRTE ite3(i3);
+	 *
+	 * rte::UnboundedRTE emp1(e1);
+	 * rte::UnboundedRTE eps1(e2);
+	 *
+	 * rte::UnboundedRTE sym1(s1);
+	 * rte::UnboundedRTE sym2(s2);
+	 * rte::UnboundedRTE sym3(s3);
+	 *
+	 *
+	 *
+	 * CPPUNIT_ASSERT(alt1 == alt1);
+	 * CPPUNIT_ASSERT(alt1 < alt2);
+	 * CPPUNIT_ASSERT(alt1 < alt3);
+	 * CPPUNIT_ASSERT(alt1 < alt4);
+	 * CPPUNIT_ASSERT(alt1 < alt5);
+	 * CPPUNIT_ASSERT(alt1 < alt6);
+	 * CPPUNIT_ASSERT(alt1 < alt7);
+	 * CPPUNIT_ASSERT(alt1 < alt8);
+	 * CPPUNIT_ASSERT(alt1 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt2 > alt1);
+	 * CPPUNIT_ASSERT(alt2 == alt2);
+	 * CPPUNIT_ASSERT(alt2 < alt3);
+	 * CPPUNIT_ASSERT(alt2 < alt4);
+	 * CPPUNIT_ASSERT(alt2 < alt5);
+	 * CPPUNIT_ASSERT(alt2 < alt6);
+	 * CPPUNIT_ASSERT(alt2 < alt7);
+	 * CPPUNIT_ASSERT(alt2 < alt8);
+	 * CPPUNIT_ASSERT(alt2 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt3 > alt1);
+	 * CPPUNIT_ASSERT(alt3 > alt2);
+	 * CPPUNIT_ASSERT(alt3 == alt3);
+	 * CPPUNIT_ASSERT(alt3 < alt4);
+	 * CPPUNIT_ASSERT(alt3 < alt5);
+	 * CPPUNIT_ASSERT(alt3 < alt6);
+	 * CPPUNIT_ASSERT(alt3 < alt7);
+	 * CPPUNIT_ASSERT(alt3 < alt8);
+	 * CPPUNIT_ASSERT(alt3 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt4 > alt1);
+	 * CPPUNIT_ASSERT(alt4 > alt2);
+	 * CPPUNIT_ASSERT(alt4 > alt3);
+	 * CPPUNIT_ASSERT(alt4 == alt4);
+	 * CPPUNIT_ASSERT(alt4 < alt5);
+	 * CPPUNIT_ASSERT(alt4 < alt6);
+	 * CPPUNIT_ASSERT(alt4 < alt7);
+	 * CPPUNIT_ASSERT(alt4 < alt8);
+	 * CPPUNIT_ASSERT(alt4 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt5 > alt1);
+	 * CPPUNIT_ASSERT(alt5 > alt2);
+	 * CPPUNIT_ASSERT(alt5 > alt3);
+	 * CPPUNIT_ASSERT(alt5 > alt4);
+	 * CPPUNIT_ASSERT(alt5 == alt5);
+	 * CPPUNIT_ASSERT(alt5 < alt6);
+	 * CPPUNIT_ASSERT(alt5 < alt7);
+	 * CPPUNIT_ASSERT(alt5 < alt8);
+	 * CPPUNIT_ASSERT(alt5 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt6 > alt1);
+	 * CPPUNIT_ASSERT(alt6 > alt2);
+	 * CPPUNIT_ASSERT(alt6 > alt3);
+	 * CPPUNIT_ASSERT(alt6 > alt4);
+	 * CPPUNIT_ASSERT(alt6 > alt5);
+	 * CPPUNIT_ASSERT(alt6 == alt6);
+	 * CPPUNIT_ASSERT(alt6 < alt7);
+	 * CPPUNIT_ASSERT(alt6 < alt8);
+	 * CPPUNIT_ASSERT(alt6 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt7 > alt1);
+	 * CPPUNIT_ASSERT(alt7 > alt2);
+	 * CPPUNIT_ASSERT(alt7 > alt3);
+	 * CPPUNIT_ASSERT(alt7 > alt4);
+	 * CPPUNIT_ASSERT(alt7 > alt5);
+	 * CPPUNIT_ASSERT(alt7 > alt6);
+	 * CPPUNIT_ASSERT(alt7 == alt7);
+	 * CPPUNIT_ASSERT(alt7 < alt8);
+	 * CPPUNIT_ASSERT(alt7 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt8 > alt1);
+	 * CPPUNIT_ASSERT(alt8 > alt2);
+	 * CPPUNIT_ASSERT(alt8 > alt3);
+	 * CPPUNIT_ASSERT(alt8 > alt4);
+	 * CPPUNIT_ASSERT(alt8 > alt5);
+	 * CPPUNIT_ASSERT(alt8 > alt6);
+	 * CPPUNIT_ASSERT(alt8 > alt7);
+	 * CPPUNIT_ASSERT(alt8 == alt8);
+	 * CPPUNIT_ASSERT(alt8 < alt9);
+	 *
+	 * CPPUNIT_ASSERT(alt9 > alt1);
+	 * CPPUNIT_ASSERT(alt9 > alt2);
+	 * CPPUNIT_ASSERT(alt9 > alt3);
+	 * CPPUNIT_ASSERT(alt9 > alt4);
+	 * CPPUNIT_ASSERT(alt9 > alt5);
+	 * CPPUNIT_ASSERT(alt9 > alt6);
+	 * CPPUNIT_ASSERT(alt9 > alt7);
+	 * CPPUNIT_ASSERT(alt9 > alt8);
+	 * CPPUNIT_ASSERT(alt9 == alt9);
+	 *
+	 *
+	 *
+	 * CPPUNIT_ASSERT(con1 == con1);
+	 * CPPUNIT_ASSERT(con1 < con2);
+	 * CPPUNIT_ASSERT(con1 < con3);
+	 * CPPUNIT_ASSERT(con1 < con4);
+	 * CPPUNIT_ASSERT(con1 < con5);
+	 * CPPUNIT_ASSERT(con1 < con6);
+	 * CPPUNIT_ASSERT(con1 < con7);
+	 * CPPUNIT_ASSERT(con1 < con8);
+	 * CPPUNIT_ASSERT(con1 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con2 > con1);
+	 * CPPUNIT_ASSERT(con2 == con2);
+	 * CPPUNIT_ASSERT(con2 < con3);
+	 * CPPUNIT_ASSERT(con2 < con4);
+	 * CPPUNIT_ASSERT(con2 < con5);
+	 * CPPUNIT_ASSERT(con2 < con6);
+	 * CPPUNIT_ASSERT(con2 < con7);
+	 * CPPUNIT_ASSERT(con2 < con8);
+	 * CPPUNIT_ASSERT(con2 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con3 > con1);
+	 * CPPUNIT_ASSERT(con3 > con2);
+	 * CPPUNIT_ASSERT(con3 == con3);
+	 * CPPUNIT_ASSERT(con3 < con4);
+	 * CPPUNIT_ASSERT(con3 < con5);
+	 * CPPUNIT_ASSERT(con3 < con6);
+	 * CPPUNIT_ASSERT(con3 < con7);
+	 * CPPUNIT_ASSERT(con3 < con8);
+	 * CPPUNIT_ASSERT(con3 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con4 > con1);
+	 * CPPUNIT_ASSERT(con4 > con2);
+	 * CPPUNIT_ASSERT(con4 > con3);
+	 * CPPUNIT_ASSERT(con4 == con4);
+	 * CPPUNIT_ASSERT(con4 < con5);
+	 * CPPUNIT_ASSERT(con4 < con6);
+	 * CPPUNIT_ASSERT(con4 < con7);
+	 * CPPUNIT_ASSERT(con4 < con8);
+	 * CPPUNIT_ASSERT(con4 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con5 > con1);
+	 * CPPUNIT_ASSERT(con5 > con2);
+	 * CPPUNIT_ASSERT(con5 > con3);
+	 * CPPUNIT_ASSERT(con5 > con4);
+	 * CPPUNIT_ASSERT(con5 == con5);
+	 * CPPUNIT_ASSERT(con5 < con6);
+	 * CPPUNIT_ASSERT(con5 < con7);
+	 * CPPUNIT_ASSERT(con5 < con8);
+	 * CPPUNIT_ASSERT(con5 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con6 > con1);
+	 * CPPUNIT_ASSERT(con6 > con2);
+	 * CPPUNIT_ASSERT(con6 > con3);
+	 * CPPUNIT_ASSERT(con6 > con4);
+	 * CPPUNIT_ASSERT(con6 > con5);
+	 * CPPUNIT_ASSERT(con6 == con6);
+	 * CPPUNIT_ASSERT(con6 < con7);
+	 * CPPUNIT_ASSERT(con6 < con8);
+	 * CPPUNIT_ASSERT(con6 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con7 > con1);
+	 * CPPUNIT_ASSERT(con7 > con2);
+	 * CPPUNIT_ASSERT(con7 > con3);
+	 * CPPUNIT_ASSERT(con7 > con4);
+	 * CPPUNIT_ASSERT(con7 > con5);
+	 * CPPUNIT_ASSERT(con7 > con6);
+	 * CPPUNIT_ASSERT(con7 == con7);
+	 * CPPUNIT_ASSERT(con7 < con8);
+	 * CPPUNIT_ASSERT(con7 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con8 > con1);
+	 * CPPUNIT_ASSERT(con8 > con2);
+	 * CPPUNIT_ASSERT(con8 > con3);
+	 * CPPUNIT_ASSERT(con8 > con4);
+	 * CPPUNIT_ASSERT(con8 > con5);
+	 * CPPUNIT_ASSERT(con8 > con6);
+	 * CPPUNIT_ASSERT(con8 > con7);
+	 * CPPUNIT_ASSERT(con8 == con8);
+	 * CPPUNIT_ASSERT(con8 < con9);
+	 *
+	 * CPPUNIT_ASSERT(con9 > con1);
+	 * CPPUNIT_ASSERT(con9 > con2);
+	 * CPPUNIT_ASSERT(con9 > con3);
+	 * CPPUNIT_ASSERT(con9 > con4);
+	 * CPPUNIT_ASSERT(con9 > con5);
+	 * CPPUNIT_ASSERT(con9 > con6);
+	 * CPPUNIT_ASSERT(con9 > con7);
+	 * CPPUNIT_ASSERT(con9 > con8);
+	 * CPPUNIT_ASSERT(con9 == con9);
+	 *
+	 *
+	 * CPPUNIT_ASSERT(ite1 == ite1);
+	 * CPPUNIT_ASSERT(ite1 < ite2);
+	 * CPPUNIT_ASSERT(ite1 < ite3);
+	 *
+	 * CPPUNIT_ASSERT(ite2 > ite1);
+	 * CPPUNIT_ASSERT(ite2 == ite2);
+	 * CPPUNIT_ASSERT(ite2 < ite3);
+	 *
+	 * CPPUNIT_ASSERT(ite3 > ite1);
+	 * CPPUNIT_ASSERT(ite3 > ite2);
+	 * CPPUNIT_ASSERT(ite3 == ite3);
+	 *
+	 *
+	 *
+	 * CPPUNIT_ASSERT(emp1 == emp1);
+	 *
+	 *
+	 *
+	 * CPPUNIT_ASSERT(eps1 == eps1);
+	 *
+	 *
+	 *
+	 * CPPUNIT_ASSERT(sym1 == sym1);
+	 * CPPUNIT_ASSERT(sym1 < sym2);
+	 * CPPUNIT_ASSERT(sym1 < sym3);
+	 *
+	 * CPPUNIT_ASSERT(sym2 > sym1);
+	 * CPPUNIT_ASSERT(sym2 == sym2);
+	 * CPPUNIT_ASSERT(sym2 < sym3);
+	 *
+	 * CPPUNIT_ASSERT(sym3 > sym1);
+	 * CPPUNIT_ASSERT(sym3 > sym2);
+	 * CPPUNIT_ASSERT(sym3 == sym3);
+	 */
 }