@Test
	public void simpleParallelAndSequential() {
		js = parse("<jobA || jobA2 & jobB || jobB2 & jobC || jobC2>");
		assertEquals("<jobA || jobA2 & jobB || jobB2 & jobC || jobC2>", js.getJobDefinitionText());
		assertEquals("<jobA || jobA2 & jobB || jobB2 & jobC || jobC2>", js.stringify());
		JobNode jobNode = js.getJobNode();
		assertTrue(jobNode instanceof Split);
		Split pjs = (Split) jobNode;
		assertEquals(3, pjs.getSeriesLength());
		JobNode js1 = pjs.getSeriesElement(0);
		JobNode js2 = pjs.getSeriesElement(1);
		JobNode js3 = pjs.getSeriesElement(2);
		assertEquals("jobA[1>5] || jobA2[9>14]", js1.stringify(true));
		assertEquals("jobB[17>21] || jobB2[25>30]", js2.stringify(true));
		assertEquals("jobC[33>37] || jobC2[41>46]", js3.stringify(true));
		assertEquals(2, js1.getSeriesLength());
		assertEquals(2, js2.getSeriesLength());
		assertEquals(2, js3.getSeriesLength());
	}
Parse job specifications and verify either the correct abstract syntax tree is produced or the current exception comes out.
The parser does no semantic validation, it is purely syntax checking.

@author Andy Clement
spring-xd-dirt/src/test/java/org/springframework/xd/dirt/job/dsl/JobParserTests.java