1 package org.smartcomps.twister.engine.core.definition; 2 3 import junit.framework.TestCase; 4 import net.sf.hibernate.tool.hbm2ddl.SchemaExport; 5 import net.sf.hibernate.cfg.Configuration; 6 import org.smartcomps.twister.common.transaction.TransactionManager; 7 import org.smartcomps.twister.common.lifecycle.LifecycleManager; 8 import org.smartcomps.twister.engine.priv.core.definition.ActivityFactory; 9 import org.smartcomps.twister.engine.priv.core.definition.Switch; 10 import org.smartcomps.twister.engine.priv.core.definition.Invoke; 11 import org.smartcomps.twister.engine.priv.core.definition.ProcessFactory; 12 import org.smartcomps.twister.engine.priv.core.definition.Activity; 13 import org.smartcomps.twister.util.BeanTester; 14 15 /*** 16 * Tests a simple switch with three invokes (as a switch by itself 17 * doesn't really make sense). 18 */ 19 public class TestSwitch extends TestCase { 20 21 public static Switch testSwitch = null; 22 23 private TestProcess testProcess = new TestProcess(); 24 private BeanTester beanTester = new BeanTester(new String[] {"Id", "Index"}); 25 26 protected void setUp() throws Exception { 27 LifecycleManager.getLifecycleManager().createResources(); 28 LifecycleManager.getLifecycleManager().startResources(); 29 30 SchemaExport schemaExport = new SchemaExport(new Configuration().configure()); 31 schemaExport.create(true, true); 32 33 TransactionManager.beginTransaction(); 34 testProcess.testCreate(); 35 } 36 37 protected void tearDown() throws Exception { 38 TransactionManager.commitTransaction(); 39 40 LifecycleManager.getLifecycleManager().stopResources(); 41 LifecycleManager.getLifecycleManager().destroyResources(); 42 } 43 44 public void testSimpleCreate() throws Exception { 45 testSwitch = (Switch) ActivityFactory.createActivity(Switch.class, TestProcess.testProcess); 46 Invoke invoke1 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 47 beanTester.initializeProperties("invoke1", invoke1); 48 Invoke invoke2 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 49 beanTester.initializeProperties("invoke2", invoke2); 50 51 TransactionManager.commitTransaction(); 52 TransactionManager.beginTransaction(); 53 54 Switch resultSeq = (Switch) ProcessFactory.getByName(TestProcess.testProcess.getName()).getActivity(); 55 assertNotNull("Switch process is null", resultSeq.getProcess()); 56 Activity act1 = (Activity) resultSeq.getActivities().get(0); 57 assertTrue("First activity in the switch is not an Invoke", act1 instanceof Invoke); 58 assertTrue("First activity attributes have been changed", beanTester.testValues("invoke1", act1)); 59 Activity act2 = (Activity) resultSeq.getActivities().get(1); 60 assertTrue("Second activity in the switch is not an Invoke", act2 instanceof Invoke); 61 assertTrue("Second activity attributes have been changed", beanTester.testValues("invoke2", act2)); 62 63 } 64 65 public void testCreateNoOtherwise() throws Exception { 66 testSwitch = (Switch) ActivityFactory.createActivity(Switch.class, TestProcess.testProcess); 67 Invoke invoke1 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 68 invoke1.setOperation("operation1"); 69 invoke1.setPartner("partner1"); 70 invoke1.setPortType("portType1"); 71 Invoke invoke2 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 72 invoke2.setOperation("operation2"); 73 invoke2.setPartner("partner2"); 74 invoke2.setPortType("portType2"); 75 76 testSwitch.addCondition("1 > 2", invoke1); 77 testSwitch.addCondition("1 < 2", invoke2); 78 79 TransactionManager.commitTransaction(); 80 TransactionManager.beginTransaction(); 81 82 Switch resultSeq = (Switch) ProcessFactory.getByName(TestProcess.testProcess.getName()).getActivity(); 83 assertNotNull("Switch process is null", resultSeq.getProcess()); 84 } 85 86 public void testCreateWithOtherwise() throws Exception { 87 testSwitch = (Switch) ActivityFactory.createActivity(Switch.class, TestProcess.testProcess); 88 Invoke invoke1 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 89 invoke1.setOperation("operation1"); 90 invoke1.setPartner("partner1"); 91 invoke1.setPortType("portType1"); 92 Invoke invoke2 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 93 invoke2.setOperation("operation2"); 94 invoke2.setPartner("partner2"); 95 invoke2.setPortType("portType2"); 96 Invoke invoke3 = (Invoke) ActivityFactory.createActivity(Invoke.class, testSwitch); 97 invoke3.setOperation("operation3"); 98 invoke3.setPartner("partner3"); 99 invoke3.setPortType("portType3"); 100 101 testSwitch.addCondition("1 > 2", invoke1); 102 testSwitch.addCondition("1 = 2", invoke2); 103 testSwitch.setOtherwise(invoke3); 104 105 TransactionManager.commitTransaction(); 106 TransactionManager.beginTransaction(); 107 108 Switch resultSeq = (Switch) ProcessFactory.getByName(TestProcess.testProcess.getName()).getActivity(); 109 assertNotNull("Switch process is null", resultSeq.getProcess()); 110 111 } 112 }

This page was automatically generated by Maven