/*
This file is part of Delivery Pipeline Plugin.
Delivery Pipeline Plugin is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Delivery Pipeline Plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Delivery Pipeline Plugin.
If not, see <http://www.gnu.org/licenses/>.
*/
package se.diabol.jenkins.pipeline.domain;
import org.junit.Test;
import se.diabol.jenkins.pipeline.domain.status.Status;
import se.diabol.jenkins.pipeline.domain.task.Task;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class RouteTest {
@Test
public void testSetTasks() {
Route route = new Route();
assertEquals(0, route.getTasks().size());
List<Task> tasks = new ArrayList<Task>();
tasks.add(mock(Task.class));
tasks.add(mock(Task.class));
tasks.add(mock(Task.class));
route.setTasks(tasks);
assertEquals(3, route.getTasks().size());
}
@Test
public void testGetTotalBuildTime() {
Route route = new Route();
assertEquals(0, route.getTotalBuildTime());
List<Task> tasks = new ArrayList<Task>();
Task task1 = mock(Task.class);
Status status1 = mock(Status.class);
when(status1.getDuration()).thenReturn(100L);
when(task1.getStatus()).thenReturn(status1);
Task task2 = mock(Task.class);
Status status2 = mock(Status.class);
when(status2.getDuration()).thenReturn(200L);
when(task2.getStatus()).thenReturn(status2);
Task task3 = mock(Task.class);
Status status3 = mock(Status.class);
when(status3.getDuration()).thenReturn(300L);
when(task3.getStatus()).thenReturn(status3);
tasks.add(task1);
tasks.add(task2);
tasks.add(task3);
route.setTasks(tasks);
assertEquals(600L, route.getTotalBuildTime());
}
@Test
public void testAddTask() {
Route route = new Route();
assertEquals(0, route.getTasks().size());
route.addTask(mock(Task.class));
assertEquals(1, route.getTasks().size());
route.addTask(mock(Task.class));
route.addTask(mock(Task.class));
assertEquals(3, route.getTasks().size());
}
}