corelib/tests/log-data.cc

649 lines
17 KiB
C++

#include <lw/lib/Log.hh>
#include <cppunit/extensions/HelperMacros.h>
using namespace lw;
class LogLevelTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( LogLevelTest );
CPPUNIT_TEST( testToString );
CPPUNIT_TEST_SUITE_END( );
public:
void testToString( );
};
CPPUNIT_TEST_SUITE_REGISTRATION( LogLevelTest );
/*----------------------------------------------------------------------------*/
class LogPathTest : public CppUnit::TestFixture
{
CPPUNIT_TEST_SUITE( LogPathTest );
CPPUNIT_TEST( testEmpty );
CPPUNIT_TEST( testArrayCopy );
CPPUNIT_TEST( testArrayCopyEmpty );
CPPUNIT_TEST( testArrayCopyInvalidControl );
CPPUNIT_TEST( testArrayCopyInvalidSlash );
CPPUNIT_TEST( testArrayCopyInvalidEmpty );
CPPUNIT_TEST( testArrayMove );
CPPUNIT_TEST( testArrayMoveEmpty );
CPPUNIT_TEST( testArrayMoveInvalidControl );
CPPUNIT_TEST( testArrayMoveInvalidSlash );
CPPUNIT_TEST( testArrayMoveInvalidEmpty );
CPPUNIT_TEST( testInitList );
CPPUNIT_TEST( testInitListEmpty );
CPPUNIT_TEST( testInitListInvalidControl );
CPPUNIT_TEST( testInitListInvalidSlash );
CPPUNIT_TEST( testInitListInvalidEmpty );
CPPUNIT_TEST( testFromStringEmpty );
CPPUNIT_TEST( testFromStringSlash );
CPPUNIT_TEST( testFromStringSlashes );
CPPUNIT_TEST( testFromStringValid );
CPPUNIT_TEST( testFromStringValidSlashes );
CPPUNIT_TEST( testFromStringValidInitialSlash );
CPPUNIT_TEST( testFromStringValidTrailingSlash );
CPPUNIT_TEST( testFromStringInvalid );
CPPUNIT_TEST( testSwap );
CPPUNIT_TEST( testParentEmpty );
CPPUNIT_TEST( testParentOne );
CPPUNIT_TEST( testParentValid );
CPPUNIT_TEST( testParentInvalidChild );
CPPUNIT_TEST( testParentInvalid );
CPPUNIT_TEST( testChildValid );
CPPUNIT_TEST( testChildInvalidName );
CPPUNIT_TEST( testChildInvalidParent );
CPPUNIT_TEST( testToStringEmpty );
CPPUNIT_TEST( testToStringValid );
CPPUNIT_TEST( testToStringInvalidSlash );
CPPUNIT_TEST( testToStringInvalidControl );
CPPUNIT_TEST( testToStringInvalidEmpty );
CPPUNIT_TEST( testIsParentYes );
CPPUNIT_TEST( testIsParentNo );
CPPUNIT_TEST( testIsParentYesInvalidParent );
CPPUNIT_TEST( testIsParentYesInvalidChild );
CPPUNIT_TEST( testIsParentNoInvalidParent );
CPPUNIT_TEST( testIsParentNoInvalidChild );
CPPUNIT_TEST( testEquals );
CPPUNIT_TEST( testNotEquals );
CPPUNIT_TEST_SUITE_END( );
public:
void testEmpty( );
void testArrayCopy( );
void testArrayCopyEmpty( );
void testArrayCopyInvalidControl( );
void testArrayCopyInvalidSlash( );
void testArrayCopyInvalidEmpty( );
void testArrayMove( );
void testArrayMoveEmpty( );
void testArrayMoveInvalidControl( );
void testArrayMoveInvalidSlash( );
void testArrayMoveInvalidEmpty( );
void testInitList( );
void testInitListEmpty( );
void testInitListInvalidControl( );
void testInitListInvalidSlash( );
void testInitListInvalidEmpty( );
void testFromStringEmpty( );
void testFromStringSlash( );
void testFromStringSlashes( );
void testFromStringValid( );
void testFromStringValidSlashes( );
void testFromStringValidInitialSlash( );
void testFromStringValidTrailingSlash( );
void testFromStringInvalid( );
void testSwap( );
void testParentEmpty( );
void testParentOne( );
void testParentValid( );
void testParentInvalidChild( );
void testParentInvalid( );
void testChildValid( );
void testChildInvalidName( );
void testChildInvalidParent( );
void testToStringEmpty( );
void testToStringValid( );
void testToStringInvalidSlash( );
void testToStringInvalidControl( );
void testToStringInvalidEmpty( );
void testIsParentYes( );
void testIsParentNo( );
void testIsParentYesInvalidParent( );
void testIsParentYesInvalidChild( );
void testIsParentNoInvalidParent( );
void testIsParentNoInvalidChild( );
void testEquals( );
void testNotEquals( );
};
CPPUNIT_TEST_SUITE_REGISTRATION( LogPathTest );
/*----------------------------------------------------------------------------*/
void LogLevelTest::testToString( )
{
T_StringBuilder sb;
sb << E_LogLevel::TRACE << ' ' << E_LogLevel::DEBUG << ' '
<< E_LogLevel::INFO << ' ' << E_LogLevel::NOTICE << ' '
<< E_LogLevel::WARNING << ' ' << E_LogLevel::ERROR << ' '
<< E_LogLevel::CRITICAL;
T_String s( std::move( sb ) );
CPPUNIT_ASSERT( s == "trace debug info notice warning error critical" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testEmpty( )
{
T_LogPath lp;
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testArrayCopy( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c" ) );
T_LogPath lp( test );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testArrayCopyEmpty( )
{
T_Array< T_String > test;
T_LogPath lp( test );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testArrayCopyInvalidControl( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c\n" ) );
T_LogPath lp( test );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c\n" );
}
void LogPathTest::testArrayCopyInvalidSlash( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c/" ) );
T_LogPath lp( test );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c/" );
}
void LogPathTest::testArrayCopyInvalidEmpty( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "" ) );
T_LogPath lp( test );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testArrayMove( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c" ) );
RPC_String s0( &test[ 0 ] );
RPC_String s1( &test[ 1 ] );
RPC_String s2( &test[ 2 ] );
T_LogPath lp( std::move( test ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
CPPUNIT_ASSERT_EQUAL( s0 , &lp[ 0 ] );
CPPUNIT_ASSERT_EQUAL( s1 , &lp[ 1 ] );
CPPUNIT_ASSERT_EQUAL( s2 , &lp[ 2 ] );
}
void LogPathTest::testArrayMoveEmpty( )
{
T_Array< T_String > test;
T_LogPath lp( std::move( test ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testArrayMoveInvalidControl( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c\n" ) );
T_LogPath lp( std::move( test ) );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c\n" );
}
void LogPathTest::testArrayMoveInvalidSlash( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "c/" ) );
T_LogPath lp( std::move( test ) );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c/" );
}
void LogPathTest::testArrayMoveInvalidEmpty( )
{
T_Array< T_String > test;
test.add( T_String::Pooled( "a" ) );
test.add( T_String::Pooled( "b" ) );
test.add( T_String::Pooled( "" ) );
T_LogPath lp( std::move( test ) );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testInitList( )
{
T_LogPath lp{ "a" , "b" , "c" };
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testInitListEmpty( )
{
T_LogPath lp{ };
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testInitListInvalidControl( )
{
T_LogPath lp{ "a" , "b" , "c\n" };
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c\n" );
}
void LogPathTest::testInitListInvalidSlash( )
{
T_LogPath lp{ "a" , "b" , "c/" };
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c/" );
}
void LogPathTest::testInitListInvalidEmpty( )
{
T_LogPath lp{ "a" , "b" , "" };
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testFromStringEmpty( )
{
T_LogPath lp( T_LogPath::FromString( "" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testFromStringSlash( )
{
T_LogPath lp( T_LogPath::FromString( "/" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testFromStringSlashes( )
{
T_LogPath lp( T_LogPath::FromString( "/////" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , lp.size( ) );
}
void LogPathTest::testFromStringValid( )
{
T_LogPath lp( T_LogPath::FromString( "a/b/c" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testFromStringValidSlashes( )
{
T_LogPath lp( T_LogPath::FromString( "a//b////c" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testFromStringValidInitialSlash( )
{
T_LogPath lp( T_LogPath::FromString( "/a/b/c" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testFromStringValidTrailingSlash( )
{
T_LogPath lp( T_LogPath::FromString( "a/b/c/" ) );
CPPUNIT_ASSERT( lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
void LogPathTest::testFromStringInvalid( )
{
T_LogPath lp( T_LogPath::FromString( "a/b\n/c" ) );
CPPUNIT_ASSERT( !lp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 3 ) , lp.size( ) );
CPPUNIT_ASSERT( lp[ 0 ] == "a" );
CPPUNIT_ASSERT( lp[ 1 ] == "b\n" );
CPPUNIT_ASSERT( lp[ 2 ] == "c" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testSwap( )
{
T_LogPath lp1{ "a" };
T_LogPath lp2{ "b" , "c" };
RPC_String p[] = {
&lp1[ 0 ] , &lp2[ 0 ] , &lp2[ 1 ]
};
swap( lp1 , lp2 );
CPPUNIT_ASSERT_EQUAL( uint32_t( 2 ) , lp1.size( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 1 ) , lp2.size( ) );
CPPUNIT_ASSERT_EQUAL( p[ 0 ] , &lp2[ 0 ] );
CPPUNIT_ASSERT_EQUAL( p[ 1 ] , &lp1[ 0 ] );
CPPUNIT_ASSERT_EQUAL( p[ 2 ] , &lp1[ 1 ] );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testParentEmpty( )
{
T_LogPath lp;
T_LogPath plp( lp.parent( ) );
CPPUNIT_ASSERT( plp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , plp.size( ) );
}
void LogPathTest::testParentOne( )
{
T_LogPath lp{ "a" };
T_LogPath plp( lp.parent( ) );
CPPUNIT_ASSERT( plp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 0 ) , plp.size( ) );
}
void LogPathTest::testParentValid( )
{
T_LogPath lp{ "a" , "b" };
T_LogPath plp( lp.parent( ) );
CPPUNIT_ASSERT( plp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 1 ) , plp.size( ) );
CPPUNIT_ASSERT( plp[ 0 ] == "a" );
}
void LogPathTest::testParentInvalidChild( )
{
T_LogPath lp{ "a" , "b/" };
T_LogPath plp( lp.parent( ) );
CPPUNIT_ASSERT( plp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 1 ) , plp.size( ) );
CPPUNIT_ASSERT( plp[ 0 ] == "a" );
}
void LogPathTest::testParentInvalid( )
{
T_LogPath lp{ "a/" , "b" };
T_LogPath plp( lp.parent( ) );
CPPUNIT_ASSERT( !plp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 1 ) , plp.size( ) );
CPPUNIT_ASSERT( plp[ 0 ] == "a/" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testChildValid( )
{
T_LogPath lp{ "a" };
T_LogPath clp( lp.child( "b" ) );
CPPUNIT_ASSERT( clp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 2 ) , clp.size( ) );
CPPUNIT_ASSERT( clp[ 0 ] == "a" );
CPPUNIT_ASSERT( clp[ 1 ] == "b" );
}
void LogPathTest::testChildInvalidName( )
{
T_LogPath lp{ "a" };
T_LogPath clp( lp.child( "b\n" ) );
CPPUNIT_ASSERT( !clp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 2 ) , clp.size( ) );
CPPUNIT_ASSERT( clp[ 0 ] == "a" );
CPPUNIT_ASSERT( clp[ 1 ] == "b\n" );
}
void LogPathTest::testChildInvalidParent( )
{
T_LogPath lp{ "a\n" };
T_LogPath clp( lp.child( "b" ) );
CPPUNIT_ASSERT( !clp.isValid( ) );
CPPUNIT_ASSERT_EQUAL( uint32_t( 2 ) , clp.size( ) );
CPPUNIT_ASSERT( clp[ 0 ] == "a\n" );
CPPUNIT_ASSERT( clp[ 1 ] == "b" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testToStringEmpty( )
{
T_LogPath lp;
CPPUNIT_ASSERT( lp.toString( ) == "/" );
}
void LogPathTest::testToStringValid( )
{
T_LogPath lp{ "a" , "b" , "c" };
CPPUNIT_ASSERT( lp.toString( ) == "/a/b/c" );
}
void LogPathTest::testToStringInvalidSlash( )
{
T_LogPath lp{ "a" , "/b" , "c" };
CPPUNIT_ASSERT( lp.toString( ) == "/a//b/c" );
}
void LogPathTest::testToStringInvalidControl( )
{
T_LogPath lp{ "a" , "b\n" , "c" };
CPPUNIT_ASSERT( lp.toString( ) == "/a/b\n/c" );
}
void LogPathTest::testToStringInvalidEmpty( )
{
T_LogPath lp{ "a" , "" , "c" };
CPPUNIT_ASSERT( lp.toString( ) == "/a//c" );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testIsParentYes( )
{
T_LogPath gc{ "a" , "b" };
T_LogPath c{ "a" };
T_LogPath p;
CPPUNIT_ASSERT( p.isParentOf( c ) );
CPPUNIT_ASSERT( c.isParentOf( gc ) );
CPPUNIT_ASSERT( c.isChildOf( p ) );
CPPUNIT_ASSERT( gc.isChildOf( c ) );
}
void LogPathTest::testIsParentNo( )
{
T_LogPath p1{ "a" , "b" , "c" };
T_LogPath p2{ "a" , "b" , "d" , "e" };
CPPUNIT_ASSERT( !p1.isParentOf( p2 ) );
CPPUNIT_ASSERT( !p2.isParentOf( p1 ) );
CPPUNIT_ASSERT( !p1.isChildOf( p2 ) );
CPPUNIT_ASSERT( !p2.isChildOf( p1 ) );
}
void LogPathTest::testIsParentYesInvalidParent( )
{
T_LogPath p1{ "a\n" };
T_LogPath p2{ "a\n" , "b" };
CPPUNIT_ASSERT( p1.isParentOf( p2 ) );
CPPUNIT_ASSERT( p2.isChildOf( p1 ) );
}
void LogPathTest::testIsParentYesInvalidChild( )
{
T_LogPath p1{ "a" };
T_LogPath p2{ "a" , "b\n" };
CPPUNIT_ASSERT( p1.isParentOf( p2 ) );
CPPUNIT_ASSERT( p2.isChildOf( p1 ) );
}
void LogPathTest::testIsParentNoInvalidParent( )
{
T_LogPath p1{ "b\n" };
T_LogPath p2{ "c" , "b" };
CPPUNIT_ASSERT( !p1.isParentOf( p2 ) );
CPPUNIT_ASSERT( !p2.isParentOf( p1 ) );
CPPUNIT_ASSERT( !p1.isChildOf( p2 ) );
CPPUNIT_ASSERT( !p2.isChildOf( p1 ) );
}
void LogPathTest::testIsParentNoInvalidChild( )
{
T_LogPath p1{ "b" };
T_LogPath p2{ "c" , "b\n" };
CPPUNIT_ASSERT( !p1.isParentOf( p2 ) );
CPPUNIT_ASSERT( !p2.isParentOf( p1 ) );
CPPUNIT_ASSERT( !p1.isChildOf( p2 ) );
CPPUNIT_ASSERT( !p2.isChildOf( p1 ) );
}
/*----------------------------------------------------------------------------*/
void LogPathTest::testEquals( )
{
T_LogPath p1{ "a" };
T_LogPath p2( p1 );
T_LogPath p3{ "b" , "c" };
T_LogPath p4{ "d" };
CPPUNIT_ASSERT( p1 == p1 );
CPPUNIT_ASSERT( p1 == p2 );
CPPUNIT_ASSERT( !( p1 == p3 ) );
CPPUNIT_ASSERT( !( p1 == p4 ) );
}
void LogPathTest::testNotEquals( )
{
T_LogPath p1{ "a" };
T_LogPath p2( p1 );
T_LogPath p3{ "b" , "c" };
T_LogPath p4{ "d" };
CPPUNIT_ASSERT( !( p1 != p1 ) );
CPPUNIT_ASSERT( !( p1 != p2 ) );
CPPUNIT_ASSERT( p1 != p3 );
CPPUNIT_ASSERT( p1 != p4 );
}