User development, A new message was posted in the thread "Strange Fork Behavior":
http://community.jboss.org/message/521203#521203 Author : Andre Muniz Profile : http://community.jboss.org/people/andre.muniz Message: -------------------------------------------------------------- Sorry, the test really wasn't clear enough. I know task3 is duplicated because I debugged it! Here goes the new unit test: package test2; import java.util.List; import org.jbpm.api.task.Task; import org.jbpm.test.JbpmTestCase; public class ForkTest extends JbpmTestCase { /** Deployment id. */ String deploymentId; /** * Set up. * @throws Exception exception */ protected void setUp() throws Exception { super.setUp(); // XML definition StringBuilder jpdl = new StringBuilder(); jpdl.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); jpdl.append("<process key=\"forkTest\" name=\"Fork Test\" xmlns=\"http://jbpm.org/4.3/jpdl\">"); jpdl.append(" <start g=\"7,137,48,48\" name=\"Lease Termination\">"); jpdl.append(" <transition g=\"-43,-18\" name=\"to fork1\" to=\"fork1\"/>"); jpdl.append(" </start>"); jpdl.append(" <end g=\"841,83,48,48\" name=\"end1\"/>"); jpdl.append(" <fork g=\"118,140,48,48\" name=\"fork1\">"); jpdl.append(" <transition g=\"-44,-18\" name=\"to task1\" to=\"task1\"/>"); jpdl.append(" <transition g=\"-44,-18\" name=\"to task2\" to=\"task2\"/>"); jpdl.append(" </fork>"); jpdl.append(" <task candidate-groups=\"leasing\" g=\"231,71,92,52\" name=\"task1\">"); jpdl.append(" <transition name=\"to join2\" to=\"join2\" g=\"-41,-18\"/>"); jpdl.append(" </task>"); jpdl.append(" <task candidate-groups=\"leasing\" g=\"230,225,92,52\" name=\"task2\">"); jpdl.append(" <transition name=\"to fork2\" to=\"fork2\" g=\"-43,-18\"/>"); jpdl.append(" </task>"); jpdl.append(" <task candidate-groups=\"leasing\" g=\"507,188,92,52\" name=\"task3\">"); jpdl.append(" <transition g=\"-41,-18\" name=\"to join1\" to=\"join1\"/>"); jpdl.append(" </task>"); jpdl.append(" <task candidate-groups=\"leasing\" g=\"511,306,92,52\" name=\"task4\">"); jpdl.append(" <transition g=\"-41,-18\" name=\"to join1\" to=\"join1\"/>"); jpdl.append(" </task>"); jpdl.append(" <join g=\"653,244,48,48\" name=\"join1\">"); jpdl.append(" <transition g=\"-44,-18\" name=\"to task5\" to=\"task5\"/>"); jpdl.append(" </join>"); jpdl.append(" <task candidate-groups=\"leasing\" g=\"781,237,92,52\" name=\"task5\">"); jpdl.append(" <transition g=\"-41,-18\" name=\"to join2\" to=\"join2\"/>"); jpdl.append(" </task>"); jpdl.append(" <join g=\"674,80,48,48\" name=\"join2\">"); jpdl.append(" <transition g=\"-42,-18\" name=\"to end1\" to=\"end1\"/>"); jpdl.append(" </join>"); jpdl.append(" <fork g=\"402,232,48,48\" name=\"fork2\">"); jpdl.append(" <transition g=\"-44,-18\" name=\"to task3\" to=\"task3\"/>"); jpdl.append(" <transition g=\"-44,-18\" name=\"to task4\" to=\"task4\"/>"); jpdl.append(" </fork>"); jpdl.append("</process>"); // Deploys the process deploymentId = repositoryService.createDeployment().addResourceFromString("forkTest.jpdl.xml", jpdl.toString()) .deploy(); } /** * Tear down. * @throws Exception exception */ protected void tearDown() throws Exception { repositoryService.deleteDeploymentCascade(deploymentId); super.tearDown(); } /** * Tests the process. */ public void testProcess() { // Starts a new process instance executionService.startProcessInstanceByKey("forkTest"); // Gets the pending tasks (task1 and task2) List < Task > taskList = taskService.createTaskQuery().list(); assertEquals(2, taskList.size()); assertContainsTask(taskList, "task1"); assertContainsTask(taskList, "task2"); // Completes task1 and task2 taskService.completeTask(taskList.get(0).getId()); taskService.completeTask(taskList.get(1).getId()); // Gets the pending tasks (task3 and task4) taskList = taskService.createTaskQuery().list(); // At this point we should have 2 pending tasks ([0] = task3, [1] = task4) // But the following tests shows that the taskList collection contains 3 pending tasks ([0] = task3, [1] = task4, [2] = task3) assertEquals(3, taskList.size()); assertEquals("task3", taskList.get(0).getName()); assertEquals("task4", taskList.get(1).getName()); assertEquals("task3", taskList.get(2).getName()); // This should be the right result, but it's where the test is breaking now // Failure Trace: "expected:<2> but was:<3>" assertEquals(2, taskList.size()); assertEquals("task3", taskList.get(0).getName()); assertEquals("task4", taskList.get(1).getName()); } } -------------------------------------------------------------- To reply to this message visit the message page: http://community.jboss.org/message/521203#521203
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
