blob: f0fbbdde226bed30445fa63f60d86e94605df1e4 [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2013 Boeing
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Boeing - initial API and implementation
**********************************************************************/
package org.eclipse.osee.ats.core.column;
import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.osee.ats.api.ev.IAtsEarnedValueService;
import org.eclipse.osee.ats.api.ev.IAtsEarnedValueServiceProvider;
import org.eclipse.osee.ats.api.ev.IAtsWorkPackage;
import org.eclipse.osee.ats.api.workflow.IAtsAction;
import org.eclipse.osee.ats.api.workflow.IAtsTask;
import org.eclipse.osee.ats.api.workflow.IAtsTeamWorkflow;
import org.eclipse.osee.ats.core.internal.column.ev.WorkPackageColumn;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
/**
* Test case for {@link WorkPackageColumn}
*
* @author Donald G. Dunne
*/
public class ActivityIdColumnTest {
// @formatter:off
@Mock private IAtsAction action;
@Mock private IAtsTeamWorkflow teamWf1;
@Mock private IAtsWorkPackage workPkg1;
@Mock private IAtsTask task1;
@Mock private IAtsTeamWorkflow teamWf2;
@Mock private IAtsWorkPackage workPkg2;
@Mock private IAtsTeamWorkflow teamWf3;
private IAtsEarnedValueServiceProvider earnedValueServiceProvider;
// @formatter:on
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
when(action.getTeamWorkflows()).thenReturn(Arrays.asList(teamWf1, teamWf2));
earnedValueServiceProvider = Mockito.mock(IAtsEarnedValueServiceProvider.class);
IAtsEarnedValueService service = Mockito.mock(IAtsEarnedValueService.class);
when(earnedValueServiceProvider.getEarnedValueService()).thenReturn(service);
when(service.getWorkPackage(teamWf1)).thenReturn(workPkg1);
when(service.getWorkPackage(teamWf2)).thenReturn(workPkg2);
when(task1.getParentTeamWorkflow()).thenReturn(teamWf1);
when(workPkg1.getActivityId()).thenReturn("ActId 1");
when(workPkg1.getActivityName()).thenReturn("ActId 1 Name");
when(workPkg2.getActivityId()).thenReturn("ActId 2");
when(workPkg2.getActivityName()).thenReturn("ActId 2 Name");
}
@Test
public void testGetWorkPackages_teamWf1() {
WorkPackageColumn col = new WorkPackageColumn(earnedValueServiceProvider);
Set<IAtsWorkPackage> workPackages = new HashSet<>();
col.getWorkPackage(teamWf1);
Assert.assertEquals(1, workPackages.size());
Assert.assertEquals(workPkg1, workPackages.iterator().next());
}
@Test
public void testGetWorkPackages_task() {
WorkPackageColumn col = new WorkPackageColumn(earnedValueServiceProvider);
Set<IAtsWorkPackage> workPackages = new HashSet<>();
col.getWorkPackage(task1);
// Each work flow stores it's own work package, so none should be returned
Assert.assertEquals(0, workPackages.size());
}
@Test
public void testGetWorkPackageStr() {
WorkPackageColumn col = new WorkPackageColumn(earnedValueServiceProvider);
Assert.assertEquals("ActId 1 - ActId 1 Name", col.getColumnText(teamWf1));
String workPackageStr = col.getColumnText(action);
Assert.assertTrue(
workPackageStr.equals("ActId 1 - ActId 1 Name, ActId 2 - ActId 2 Name") || workPackageStr.equals(
"ActId 2 - ActId 2 Name, ActId 1 - ActId 1 Name"));
Assert.assertEquals("", col.getColumnText(teamWf3));
}
}