/** **************************************************************************************** * Helper method used when reading file. * @param subs A sub-string. * @return true if provided substring starts with comment character. ******************************************************************************************/ protected bool startsWithCommentSymbol( Substring subs ) { int i= commentChars.IndexOf( subs.CharAtStart() ); return ( i >= 0 && i < 2) || ( i == 2 && subs.CharAt(1) == '/' ); }
public void FrontEnd() { // empty substring { Substring subs= new Substring(); UT_EQ( '\0', subs.CharAtStart( ) ); UT_EQ( '\0', subs.CharAt( 0 ) ); UT_EQ( '\0', subs.CharAt( 1 ) ); UT_EQ( '\0', subs.CharAt(-1 ) ); UT_EQ( '\0', subs.CharAt( 2 ) ); UT_EQ( '\0', subs.CharAt(-2 ) ); UT_EQ( '\0', subs.CharAtEnd ( ) ); UT_EQ( '\0', subs.CharAtEnd ( 0 ) ); UT_EQ( '\0', subs.CharAtEnd ( 1 ) ); UT_EQ( '\0', subs.CharAtEnd (-1 ) ); UT_EQ( '\0', subs.CharAtEnd ( 2 ) ); UT_EQ( '\0', subs.CharAtEnd (-2 ) ); } // empty substring { Substring subs= new Substring("aaaaaaaaaaaa"); subs.Start= 5; subs.End= 4; UT_EQ( '\0', subs.CharAtStart( ) ); UT_EQ( '\0', subs.CharAt( 0 ) ); UT_EQ( '\0', subs.CharAt( 1 ) ); UT_EQ( '\0', subs.CharAt(-1 ) ); UT_EQ( '\0', subs.CharAt( 2 ) ); UT_EQ( '\0', subs.CharAt(-2 ) ); UT_EQ( '\0', subs.CharAtEnd ( ) ); UT_EQ( '\0', subs.CharAtEnd ( 0 ) ); UT_EQ( '\0', subs.CharAtEnd ( 1 ) ); UT_EQ( '\0', subs.CharAtEnd (-1 ) ); UT_EQ( '\0', subs.CharAtEnd ( 2 ) ); UT_EQ( '\0', subs.CharAtEnd (-2 ) ); } // substring of length 1 { Substring subs= new Substring("aaaaaaaaaaaa"); subs.Start= subs.End= 5; UT_EQ('a', subs.CharAtStart( ) ); UT_EQ('a', subs.CharAt( 0 ) ); UT_EQ('\0', subs.CharAt( 1 ) ); UT_EQ('\0', subs.CharAt(-1 ) ); UT_EQ('\0', subs.CharAt( 2 ) ); UT_EQ('\0', subs.CharAt(-2 ) ); UT_EQ('a', subs.CharAtEnd ( ) ); UT_EQ('a', subs.CharAtEnd ( 0 ) ); UT_EQ('\0', subs.CharAtEnd ( 1 ) ); UT_EQ('\0', subs.CharAtEnd (-1 ) ); UT_EQ('\0', subs.CharAtEnd ( 2 ) ); UT_EQ('\0', subs.CharAtEnd (-2 ) ); } // substring of length 2 { Substring subs= new Substring("aaaaabbbbbb"); subs.End= subs.IndexOf('b'); subs.Start= subs.End - 1; UT_EQ('a', subs.CharAtStart( ) ); UT_EQ('a', subs.CharAt( 0 ) ); UT_EQ('b', subs.CharAt( 1 ) ); UT_EQ('\0', subs.CharAt(-1 ) ); UT_EQ('\0', subs.CharAt( 2 ) ); UT_EQ('\0', subs.CharAt(-2 ) ); UT_EQ('b', subs.CharAtEnd ( ) ); UT_EQ('b', subs.CharAtEnd ( 0 ) ); UT_EQ('a', subs.CharAtEnd ( 1 ) ); UT_EQ('\0', subs.CharAtEnd (-1 ) ); UT_EQ('\0', subs.CharAtEnd ( 2 ) ); UT_EQ('\0', subs.CharAtEnd (-2 ) ); } }