package edu.sc.seis.sod.subsetter; import java.util.regex.Matcher; import java.util.regex.Pattern; import junit.framework.TestCase; public class TestScriptClean extends TestCase { String beforeLineScript = " \n"+ " print networkAttr.get_code()\n"+ "\n"+ " out = True\n"; String afterLineScript = " print networkAttr.get_code()\n"+ "\n"+ " out = True\n"+ " \n"+ "\n"+ "\n"+ " \n"; public void testBeforeLineScript() { String out = AbstractScriptSubsetter.cleanScript(beforeLineScript); int numLines = out.split("\n").length; assertEquals("num lines", 3, numLines); } public void testAfterLineScript() { String out = AbstractScriptSubsetter.cleanScript(afterLineScript); int numLines = out.split("\n").length; assertEquals("num lines", 3, numLines); } public void testSimpleRegEx() { String s = " \n \n \nabc\n \n \n \nabc\nabc\n"; Matcher matcher = Pattern.compile("((?:(?: *\\n)*(?: *\\S[^\\n]*\\n))*)", Pattern.DOTALL).matcher(s); assertTrue(matcher.matches()); } public void testNumSpacesRegEx() { String s = " abc"; Matcher matcher = Pattern.compile("( *).*").matcher(s); assertTrue(matcher.matches()); assertEquals("num spaces", 2, matcher.group(1).length()); } public void testNoNumSpacesRegEx() { String s = "abc"; Matcher matcher = Pattern.compile("( *).*").matcher(s); assertTrue(matcher.matches()); assertEquals("num spaces", 0, matcher.group(1).length()); } public void testAllNumSpacesRegEx() { String s = " "; Matcher matcher = Pattern.compile("( *).*").matcher(s); assertTrue(matcher.matches()); assertEquals("num spaces", 3, matcher.group(1).length()); } public void testEmptyNumSpacesRegEx() { String s = ""; Matcher matcher = Pattern.compile("( *).*").matcher(s); assertTrue(matcher.matches()); assertEquals("num spaces", 0, matcher.group(1).length()); } public void testZapNumSpacesRegEx() { String s = " abc"; Matcher matcher = Pattern.compile(" {0,3}(.*)").matcher(s); assertTrue(matcher.matches()); assertEquals("num spaces", " abc", matcher.group(1)); } }