Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt
package org.litesoft.core.util.stringmatching;

import junit.framework.*;

import org.litesoft.*;
import org.litesoft.commonfoundation.stringmatching.*;
import org.litesoft.commonfoundation.typeutils.*;

public class StringMatcherTest extends TestCasePlus
{
    public static TestSuite suite()
    {
        return new TestSuite( StringMatcherTest.class );
    }

    public StringMatcherTest( String name )
    {
        super( name );
    }

    public static void main( String[] args )
    {
        junit.textui.TestRunner.run( suite() );
    }

    public void testIt()
            throws Exception
    {
        Assert.assertNull( "Empty String", StringMatcherFactory.createEquals( "" ) );
        Assert.assertNull( "Empty String", StringMatcherFactory.createStartsWith( "" ) );

        Assert.assertNull( "Empty Strings", StringMatcherFactory.createEquals( "", "" ) );
        Assert.assertNull( "Empty Strings", StringMatcherFactory.createStartsWith( "", "" ) );

        LLtest( StringMatcherFactory.createEquals( "Test" ), "Test2", "Test" );
        LLtest( StringMatcherFactory.createStartsWith( "Test" ), "!Test", "Test2", "Test" );

        LLtest( "Test", "Test2", "Test" );
        LLtest( "BA*AB", "BAB", "BAAB", "BA-AB" );
        LLtest( "*AB", "BABA", "AB", "BAB", "BAAB", "BA-AB" );
        LLtest( "BA*", "ABAB", "BA", "BAB", "BAAB", "BA-AB" );
        LLtest( "BA*A*", "BAB", "BAA", "BAAB", "BA-AB" );
        LLtest( "BA*B*", "BAA", "BA-B", "BABA", "BA-BA" );

        LLtest( "B*R*A*T", "BRATS", "BRAT", "BRA-T", "BR-A-T", "B-R-A-T", "B-R-AT", "B-RAT", "BR-AT" );

        LLtest( "*B*R*A*T*", "BraT", //
                "BRAT", "BRA-T", "BR-A-T", "B-R-A-T", "B-R-AT", "B-RAT", "BR-AT", //
                "!BRAT", "!BRA-T", "!BR-A-T", "!B-R-A-T", "!B-R-AT", "!B-RAT", "!BR-AT", //
                "BRAT!", "BRA-T!", "BR-A-T!", "B-R-A-T!", "B-R-AT!", "B-RAT!", "BR-AT!", //
                "!BRAT!", "!BRA-T!", "!BR-A-T!", "!B-R-A-T!", "!B-R-AT!", "!B-RAT!", "!BR-AT!" );
    }

    private void LLtest( String pPattern, String pFalseStr, String... pTrueStrs )
    {
        LLtest( StringMatcherFactory.createEquals( Strings.parseChar( pPattern, '*' ) ), pFalseStr, pTrueStrs );
    }

    private void LLtest( StringMatcher zSM, String pFalseStr, String... pTrueStrs )
    {
        if ( zSM.matches( pFalseStr ) )
        {
            Assert.fail( "Expected '" + pFalseStr + "' to not match with: " + zSM );
        }
        for ( String zTrueStr : pTrueStrs )
        {
            if ( !zSM.matches( zTrueStr ) )
            {
                Assert.fail( "Expected '" + zTrueStr + "' to match with: " + zSM );
            }
        }
    }
}

Commits for litesoft/trunk/Java/core/Server/tests/org/litesoft/core/util/stringmatching/StringMatcherTest.java

Diff revisions: vs.
Revision Author Commited Message
939 Diff Diff GeorgeS picture GeorgeS Mon 02 Jun, 2014 21:30:31 +0000

Extracting commonfoundation

802 Diff Diff GeorgeS picture GeorgeS Wed 15 Aug, 2012 04:04:47 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000