/* * Copyright 2016 Red Hat, Inc. and/or its affiliates. * * 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.kie.workbench.common.stunner.bpmn.client.forms.fields.model; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.kie.workbench.common.stunner.bpmn.client.forms.util.StringUtils; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import static org.junit.Assert.*; @RunWith(PowerMockRunner.class) @PrepareForTest({StringUtils.class}) public class AssignmentDataTest extends AssignmentBaseTest { @Before public void setUp() throws Exception { super.setUp(); } @After public void tearDown() { super.tearDown(); } @Test public void testSetVariableCountsString1() { // Single input only AssignmentData assignmentData = new AssignmentData("inStr:String", null, "str1:String", "[din]str1->inStr", "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, true, false, false); assertEquals("1 Data_Input", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString2() { // Single input absent AssignmentData assignmentData = new AssignmentData("", null, "str1:String", null, "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, true, false, false); assertEquals("No_Data_Input", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString3() { // Single output only AssignmentData assignmentData = new AssignmentData(null, "outStr1:String", "str1:String,int1:Integer,custom1:org.jdl.Custom", "[dout]outStr1->str1", "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(false, false, true, true); assertEquals("1 Data_Output", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString4() { // Single output absent AssignmentData assignmentData = new AssignmentData(null, null, "str1:String,int1:Integer,custom1:org.jdl.Custom", null, "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(false, false, true, true); assertEquals("No_Data_Output", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString5() { // No inputs & no outputs AssignmentData assignmentData = new AssignmentData(null, null, "str1:String,int1:Integer,custom1:org.jdl.Custom", null, "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, false, true, false); assertEquals("0 Data_Inputs, 0 Data_Outputs", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString6() { // Single inputs & output AssignmentData assignmentData = new AssignmentData("inStr:String,Skippable", "outStr1:String", "str1:String,int1:Integer,custom1:org.jdl.Custom", "[din]str1->inStr,[dout]outStr1->str1", "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, false, true, false); assertEquals("1 Data_Input, 1 Data_Output", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString10() { // Several inputs & outputs AssignmentData assignmentData = new AssignmentData("inStr:String,inInt1:Integer,inCustom1:org.jdl.Custom,inStrConst:String,Skippable", "outStr1:String,outInt1:Integer,outCustom1:org.jdl.Custom", "str1:String,int1:Integer,custom1:org.jdl.Custom", "[din]str1->inStr,[din]int1->inInt1,[din]custom1->inCustom1,[din]inStrConst=TheString,[dout]outStr1->str1,[dout]outInt1->int1,[dout]outCustom1->custom1", "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, false, true, false); assertEquals("4 Data_Inputs, 3 Data_Outputs", assignmentData.getVariableCountsString()); } @Test public void testSetVariableCountsString11() { // No inputs& 3 outputs assignments with same source AssignmentData assignmentData = new AssignmentData(null, "outStr1:String", "str1:String,int1:Integer,custom1:org.jdl.Custom", "[dout]outStr1->str1,[dout]outStr1->int1,[dout]outStr1->custom1", "String:String, Integer:Integer, Boolean:Boolean, Float:Float, Object:Object", "GroupId,Skippable,Comment,Description,Priority,Content,TaskName,Locale,CreatedBy,NotCompletedReassign,NotStartedReassign,NotCompletedNotify,NotStartedNotify"); assignmentData.setVariableCountsString(true, false, true, false); assertEquals("0 Data_Inputs, 3 Data_Outputs", assignmentData.getVariableCountsString()); } }