Generated from ./rt/Example/test_wildcard.c with ROBODoc v4.0.18 on Mon Jan 19 22:49:19 2004

Test/Test_RB_Match_1

FUNCTION

   Test if RB_Match correctly matches literal strings.

SOURCE

    void Test_RB_Match_1 ( void )
    {
        RBT_Assert(   RB_Match( "test", "test" ) );
        RBT_Assert( ! RB_Match( "xest", "test" ) );
        RBT_Assert( ! RB_Match( "tesx", "test" ) );
        RBT_Assert( ! RB_Match( "txxt", "test" ) );
        RBT_Assert( ! RB_Match( "testo", "test" ) );
    }

Test/Test_RB_Match_2

FUNCTION

   Test if RB_Match correctly processes the wildcard character '*'.

SOURCE

    void Test_RB_Match_2 ( void )
    {
        /* It should match the empty string. */
        RBT_Assert(   RB_Match( "",    "*" ) );
        /* It should match a single character */
        RBT_Assert(   RB_Match( "a",   "*" ) );
        /* And multiple characters */
        RBT_Assert(   RB_Match( "aaa", "*" ) );
        RBT_Assert(   RB_Match( "aaa", "a*" ) );
        /* a substring of several characters inside a longer string */
        RBT_Assert(   RB_Match( "aaaxaaxaaxaax", "a*aaxaax" ) );
        /* twice an empty string in a string */
        RBT_Assert(   RB_Match( "aaaxaaxaaxaax", "aaax*aaxaa*xaax" ) );
        /* empty string infront of a string */
        RBT_Assert(   RB_Match( "aaaxaaxaaxaax", "*aaaxaaxaaxaax" ) );
        RBT_Assert(   RB_Match( "aaaxaaxaaxaax", "aaaxaaxaaxaax*" ) );
        RBT_Assert(   RB_Match( "aaa", "*a*" ) );
        /* This should not match */
        RBT_Assert( ! RB_Match( "aaa", "*b*" ) );
    }

Test/Test_RB_Match_3

FUNCTION

   Test if RB_Match correctly processes the wildcard character '?'.

SOURCE

    void Test_RB_Match_3 ( void )
    {
        RBT_Assert(   RB_Match( "a",   "?" ) );
        RBT_Assert(   RB_Match( "0",   "?" ) );
        RBT_Assert(   RB_Match( "aap", "a?p" ) );
        RBT_Assert(   RB_Match( "aap", "??p" ) );
        RBT_Assert(   RB_Match( "aap", "a??" ) );
        RBT_Assert(   RB_Match( "aap", "?a?" ) );
    }

Test/Test_RB_Match_4

FUNCTION

   Test if RB_Match correctly processes combinations of the
   wildcard characters '?' and '*'.

SOURCE

    void Test_RB_Match_4 ( void )
    {
        RBT_Assert(   RB_Match( "aapjes", "*?" ) );
        RBT_Assert(   RB_Match( "aapjes", "?*" ) );
        RBT_Assert(   RB_Match( "aapjes", "?a*jes" ) );
        RBT_Assert(   RB_Match( "aaaapjes", "?a*jes" ) );
        RBT_Assert( ! RB_Match( "aaaapjes", "?a*bjes" ) );
        RBT_Assert( ! RB_Match( "aaaapjes", "?a*jes?" ) );
    }