/* * Copyright 2015 JBoss, by Red Hat, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.uberfire.ext.wires.bpmn.api.model.impl.nodes; import org.junit.Test; import org.uberfire.ext.wires.bpmn.api.model.BpmnGraph; import org.uberfire.ext.wires.bpmn.api.model.BpmnGraphNode; import static junit.framework.Assert.assertNotNull; import static org.jgroups.util.Util.assertTrue; import static org.junit.Assert.*; public class CopyNodesTest { @Test public void testCopyStartProcessNode() { final StartProcessNode node = new StartProcessNode(); final StartProcessNode copy = node.copy(); assertNotNull(copy); assertFalse(node == copy); assertEquals(node.getContent().getId(), copy.getContent().getId()); assertEquals(node.getContent().getTitle(), copy.getContent().getTitle()); assertEquals(node.getContent().getDescription(), copy.getContent().getDescription()); assertEquals(node.getContent().getRoles(), copy.getContent().getRoles()); assertEquals(node.getContent().getProperties(), copy.getContent().getProperties()); } @Test public void testCopyEndProcessNode() { final EndProcessNode node = new EndProcessNode(); final EndProcessNode copy = node.copy(); assertNotNull(copy); assertFalse(node == copy); assertEquals(node.getContent().getId(), copy.getContent().getId()); assertEquals(node.getContent().getTitle(), copy.getContent().getTitle()); assertEquals(node.getContent().getDescription(), copy.getContent().getDescription()); assertEquals(node.getContent().getRoles(), copy.getContent().getRoles()); assertEquals(node.getContent().getProperties(), copy.getContent().getProperties()); } @Test public void testCopyProcessNode1() { final ProcessNode node = new ProcessNode(); final ProcessNode copy = node.copy(); assertNotNull(copy); assertFalse(node == copy); assertEquals(node.getContent().getId(), copy.getContent().getId()); assertEquals(node.getContent().getTitle(), copy.getContent().getTitle()); assertEquals(node.getContent().getDescription(), copy.getContent().getDescription()); assertEquals(node.getContent().getRoles(), copy.getContent().getRoles()); assertEquals(node.getContent().getProperties(), copy.getContent().getProperties()); } @Test public void testCopyProcessNode2() { final ProcessNode process = new ProcessNode(); final StartProcessNode startProcessNode = new StartProcessNode(); final EndProcessNode endProcessNode = new EndProcessNode(); process.addNode(startProcessNode); process.addNode(endProcessNode); final ProcessNode copyProcess = process.copy(); assertNotNull(copyProcess); assertFalse(process == copyProcess); assertEquals(process.getContent().getId(), copyProcess.getContent().getId()); assertEquals(process.getContent().getTitle(), copyProcess.getContent().getTitle()); assertEquals(process.getContent().getDescription(), copyProcess.getContent().getDescription()); assertEquals(process.getContent().getRoles(), copyProcess.getContent().getRoles()); assertEquals(process.getContent().getProperties(), copyProcess.getContent().getProperties()); assertEquals(process.size(), copyProcess.size()); final BpmnGraphNode copyStartProcessNode = getNode(copyProcess, StartProcessNode.class); assertNotNull(copyStartProcessNode); assertTrue(copyStartProcessNode instanceof StartProcessNode); assertFalse(startProcessNode == copyStartProcessNode); final BpmnGraphNode copyEndProcessNode = getNode(copyProcess, EndProcessNode.class); assertNotNull(copyEndProcessNode); assertTrue(copyEndProcessNode instanceof EndProcessNode); assertFalse(endProcessNode == copyEndProcessNode); } private BpmnGraphNode getNode(final BpmnGraph process, final Class clazz) { for (BpmnGraphNode node : process) { if (node.getClass().equals(clazz)) { return node; } } return null; } }