package org.atomhopper.util; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import static org.junit.Assert.assertEquals; /** * */ @RunWith(Enclosed.class) public class TargetRegexBuilderTest { public static class WhenCopyingTargetRegexBuilders extends TargetRegexBuilderTestParent { @Test public void shouldCopyBuilderElements() { final TargetRegexBuilder expected = feedRegexBuilder(); final TargetRegexBuilder actual = new TargetRegexBuilder(expected); assertEquals("TargetRegexBuilder copy must populate the context path", expected.getContextPath(), actual.getContextPath()); assertEquals("TargetRegexBuilder copy must populate the workspace path", expected.getWorkspaceResource(), actual.getWorkspaceResource()); assertEquals("TargetRegexBuilder copy must populate the feed path", expected.getFeedResource(), actual.getFeedResource()); } } public static class WhenResourceAttributeHasBackslashesInRegex { private TargetRegexBuilder targetRegexBuilder; @Test public void shouldRetainTheBackslashInRegex() { String workspaceResource = "usagetest\\d{1,2}"; String feedResource = "events"; String contextPath = ""; targetRegexBuilder = new TargetRegexBuilder(); targetRegexBuilder.setContextPath(contextPath); targetRegexBuilder.setWorkspace(workspaceResource); targetRegexBuilder.setFeed(feedResource); assertTrue("should retain the backslash in the workspace resource regex",targetRegexBuilder.toEntryPattern().contains(workspaceResource)); } } }