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
|
package org.biojava.utils.regex;
import junit.framework.TestCase;
import org.biojava.bio.seq.DNATools;
import org.biojava.bio.symbol.SymbolList;
public class RegexTest
extends TestCase
{
private String symbols = "atatcgatttagatggatcccgcgta";
private String patternString = "ggatcc";
private SymbolList sl;
protected void setUp()
throws Exception
{
sl = DNATools.createDNA(symbols);
}
public void testRegex()
throws Exception
{
// create a factory suitable for DNA
PatternFactory fact = PatternFactory.makeFactory(DNATools.getDNA());
assertNotNull("Could not create PatternFactory object.", fact);
// make a pattern
Pattern pattern = fact.compile(patternString);
assertNotNull("Could not create Pattern object.", pattern);
// make a matcher
Matcher matcher = pattern.matcher(sl);
assertNotNull("Could not create Matcher object.", matcher);
// test matcher
if (matcher.find()) {
if ((matcher.start() != 15) && (matcher.end() != 21))
fail("start and end yielded wrong result.");
}
else {
fail("failed to find target at all!");
}
SymbolList subList = matcher.group();
assertNotNull("failed to extract match group.", matcher);
assertEquals("failed to find match group correctly.", subList.seqString(), patternString);
}
}
|