| /******************************************************************************* |
| * Copyright (c) 2014 Tasktop Technologies and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Tasktop Technologies - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.builds.tests.ui; |
| |
| import static org.mockito.Mockito.when; |
| import junit.framework.TestCase; |
| |
| import org.eclipse.mylyn.builds.core.BuildStatus; |
| import org.eclipse.mylyn.builds.core.IBuildPlan; |
| import org.eclipse.mylyn.builds.internal.core.BuildFactory; |
| import org.eclipse.mylyn.builds.internal.core.BuildModel; |
| import org.eclipse.mylyn.internal.builds.ui.BuildsUiInternal; |
| import org.eclipse.mylyn.internal.builds.ui.view.BuildContentProvider; |
| import org.eclipse.mylyn.internal.builds.ui.view.BuildsView; |
| import org.eclipse.mylyn.internal.builds.ui.view.BuildsView.BuildsSummary; |
| import org.mockito.Mockito; |
| |
| public class BuildsViewTest extends TestCase { |
| public class TestBuildsView extends BuildsView { |
| @Override |
| protected BuildsSummary getBuildsSummary() { |
| return super.getBuildsSummary(); |
| } |
| |
| @Override |
| protected BuildModel getModel() { |
| return super.getModel(); |
| } |
| } |
| |
| public void testGetBuildsSummary() throws Exception { |
| TestBuildsView view = Mockito.spy(new TestBuildsView()); |
| when(view.getContentProvider()).thenReturn(new BuildContentProvider()); |
| when(view.getModel()).thenReturn(BuildsUiInternal.getModel()); |
| |
| assertBuildSummary(view.getBuildsSummary(), false, false, false); |
| assertTrue(view.getBuildsSummary().isEmpty()); |
| |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.SUCCESS)); |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.SUCCESS)); |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.SUCCESS)); |
| assertBuildSummary(view.getBuildsSummary(), true, false, false); |
| |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.UNSTABLE)); |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.UNSTABLE)); |
| assertBuildSummary(view.getBuildsSummary(), false, true, false); |
| |
| view.getModel().getPlans().add(createBuildPlan(BuildStatus.FAILED)); |
| assertBuildSummary(view.getBuildsSummary(), false, false, true); |
| |
| assertFalse(view.getBuildsSummary().isEmpty()); |
| assertEquals("3 Succeeded, 2 Unstable, 1 Failed", view.getBuildsSummary().toString()); |
| } |
| |
| private void assertBuildSummary(BuildsSummary buildsSummary, boolean isSuccess, boolean isUnstable, boolean isFailed) { |
| assertEquals(isSuccess, buildsSummary.isSuccess()); |
| assertEquals(isUnstable, buildsSummary.isUnstable()); |
| assertEquals(isFailed, buildsSummary.isFailed()); |
| } |
| |
| private IBuildPlan createBuildPlan(BuildStatus status) { |
| IBuildPlan plan = BuildFactory.eINSTANCE.createBuildPlan(); |
| plan.setStatus(status); |
| return plan; |
| } |
| } |