package edu.sc.seis.sod.tools; import java.util.Map; import junit.framework.TestCase; import com.martiansoftware.jsap.ParseException; public class SetSACParserTest extends TestCase { public void testAHeader() throws ParseException { Map results = (Map)ssp.parse("tts-a"); assertEquals("a", results.get("header")); assertEquals("tts", results.get("phase")); } public void test0Header() throws ParseException { Map results = (Map)ssp.parse("P-0"); assertEquals("0", results.get("header")); assertEquals("P", results.get("phase")); } public void testSingleAutoHeader() throws ParseException { Map results = (Map)ssp.parse("P"); assertEquals("0", results.get("header")); assertEquals("P", results.get("phase")); } public void testMultipleAutoHeader() throws ParseException { Map results = (Map)ssp.parse("P"); assertEquals("0", results.get("header")); assertEquals("P", results.get("phase")); results = (Map)ssp.parse("tts"); assertEquals("1", results.get("header")); assertEquals("tts", results.get("phase")); } public void testSpecifiedAndAutoHeader() throws ParseException { Map results = (Map)ssp.parse("P-0"); assertEquals("0", results.get("header")); assertEquals("P", results.get("phase")); results = (Map)ssp.parse("tts"); assertEquals("1", results.get("header")); assertEquals("tts", results.get("phase")); results = (Map)ssp.parse("ttp"); assertEquals("2", results.get("header")); assertEquals("ttp", results.get("phase")); results = (Map)ssp.parse("q-a"); assertEquals("a", results.get("header")); assertEquals("q", results.get("phase")); } public void testValidHeaderRequired() { try { ssp.parse("P-Q"); fail("a valid header should be required"); } catch(ParseException e) { assertTrue(e.getMessage().indexOf("P-Q") != -1); } } public void testPhaseRequired() { try { ssp.parse("-a"); fail("a phase should be required"); } catch(ParseException e) { assertTrue(e.getMessage().indexOf("-a") != -1); } } SetSACParser ssp = new SetSACParser(); }