/******************************************************************************
 ** This data and information is proprietary to, and a valuable trade secret
 ** of, Basis Technology Corp.  It is given in confidence by Basis Technology
 ** and may only be used as permitted under the license agreement under which
 ** it has been distributed, and in no other way.
 **
 ** Copyright (c) 2014 Basis Technology Corporation All rights reserved.
 **
 ** The technical data and information provided herein are provided with
 ** `limited rights', and the computer software provided herein is provided
 ** with `restricted rights' as those terms are defined in DAR and ASPR
 ** 7-104.9(a).
 ******************************************************************************/

package com.basistech.tclre;

import org.junit.Test;

import static com.basistech.tclre.Utils.Matches.matches;
import static org.hamcrest.CoreMatchers.not;

/**
 * Word boundary cases
 */
public class BoundaryTests extends Utils {

    @Test
    public void wordBegin() throws Exception {
        assertThat("Q a R", matches("\\ma", PatternFlags.ADVANCED));
        assertThat("Q aR", matches("\\ma", PatternFlags.ADVANCED));
        assertThat("QaR", not(matches("\\ma", PatternFlags.ADVANCED)));
    }

    @Test
    public void wordEnd() throws Exception {
        assertThat("Q a R", matches("a\\M", PatternFlags.ADVANCED));
        assertThat("Qa R", matches("a\\M", PatternFlags.ADVANCED));
        assertThat("QaR", not(matches("a\\M", PatternFlags.ADVANCED)));
    }

    @Test
    public void wordEitherEnd() throws Exception {
        assertThat("Q a R", matches("\\ya", PatternFlags.ADVANCED));
        assertThat("QaR", not(matches("\\ya", PatternFlags.ADVANCED)));

        assertThat("Q a R", not(matches("\\Ya", PatternFlags.ADVANCED)));
        assertThat("QaR", matches("\\Ya", PatternFlags.ADVANCED));
    }

    @org.junit.Ignore
    @Test
    public void stringStarts() throws Exception {
        assertThat("a123", matches("\\Aa"));
        assertThat("ba123", not(matches("\\Aa")));
    }

    @org.junit.Ignore
    @Test
    public void stringEnds() throws Exception {
        assertThat("a123", matches("\\Z3"));
        assertThat("a123b", not(matches("\\Za")));
    }
}

@@ -1883,38 +1883,16 @@
 %0A    %7D%0A%0A
-    @org.junit.Ignore%0A
     @Tes
@@ -1984,16 +1984,39 @@
 s(%22%5C%5CAa%22
+, PatternFlags.ADVANCED
 ));%0A    
@@ -2061,41 +2061,42 @@
 %5CAa%22
-)));%0A    %7D%0A%0A    @org.junit.Ignore
+, PatternFlags.ADVANCED)));%0A    %7D%0A
 %0A   
@@ -2190,13 +2190,36 @@
 es(%22
+3
 %5C%5CZ
-3
 %22
+, PatternFlags.ADVANCED
 ));%0A
@@ -2263,13 +2263,36 @@
 es(%22
+a
 %5C%5CZ
-a
 %22
+, PatternFlags.ADVANCED
 )));

Fix tests for \A and \Z.