assertTrue(rec.has("after"));
}
public static Sequence createTryAllSequence(FrameAddressResolver far) {
// Create an if sequence
Sequence seq = new Sequence();
seq.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 1, 1, 0));
far.put(seq);
TryAll ta = new TryAll();
ta.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 2, 2, 0));
far.put(ta);
// Case 1
Case c1 = new Case();
c1.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 3, 3, 0));
far.put(c1);
// Case 1 check
Check c1check = new Check();
c1check.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 4, 4, 0));
far.put(c1check);
EqualsConstraint c1equals = new EqualsConstraint();
c1equals.setApplyTo("a");
c1equals.setValue("aaa");
c1check.setConstraints(Arrays.asList(new Constraint[] { c1equals }));
// Case 1 block
Set c1set = new Set();
c1set.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 5, 5, 0));
far.put(c1set);
c1set.setApplyTo("b");
c1set.setValue("case1");
Set c1set2 = new Set();
c1set2.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 6, 6, 0));
far.put(c1set2);
c1set2.setApplyTo("c1");
c1set2.setValue("case1");
c1.setBlocks(Arrays.asList(new Block[] { c1check, c1set, c1set2 }));
// Case 2
Case c2 = new Case();
c2.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 7, 7, 0));
far.put(c2);
// Case 2 check
Check c2check = new Check();
c2check.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 8, 8, 0));
far.put(c2check);
EqualsConstraint c2equals = new EqualsConstraint();
c2equals.setApplyTo("a");
c2equals.setValue("bbb");
c2check.setConstraints(Arrays.asList(new Constraint[] { c2equals }));
// Case 2 block
Set c2set = new Set();
c2set.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 9, 9, 0));
far.put(c2set);
c2set.setApplyTo("b");
c2set.setValue("case2");
Set c2set2 = new Set();
c2set2.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 10, 10, 0));
far.put(c2set2);
c2set2.setApplyTo("c2");
c2set2.setValue("case2");
c2.setBlocks(Arrays.asList(new Block[] { c2check, c2set, c2set2 }));
// Case 3
Case c3 = new Case();
c3.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 11, 11, 0));
far.put(c1);
// Case 3 block
Set c3set = new Set();
c3set.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 13, 13, 0));
far.put(c3set);
c3set.setApplyTo("b");
c3set.setValue("case3");
Set c3set2 = new Set();
c3set2.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 14, 14, 0));
far.put(c3set2);
c3set2.setApplyTo("c3");
c3set2.setValue("case3");
c3.setBlocks(Arrays.asList(new Block[] { c3set, c3set2 }));
Set afterSet = new Set();
afterSet.setSourceInfo(new SourceInfo("file:///dummy.xml", null, 15, 15, 0));
far.put(afterSet);
afterSet.setApplyTo("after");
afterSet.setValue("true");
// Add cases to switch
ta.setCases(Arrays.asList(new Case[] { c1, c2, c3 }));
// Add blocks to top-level sequence
seq.setBlocks(Arrays.asList(new Block[] { ta, afterSet }));
return seq;
}