Turn ResourceCalendar mock creator static to reuse it from another test.

FEA: ItEr75S27PerProjectDashboard
This commit is contained in:
Nacho Barrientos 2011-11-02 17:18:35 +01:00 committed by Manuel Rego Casasnovas
parent b9b7a482ee
commit c362b16691
2 changed files with 24 additions and 49 deletions

View file

@ -79,24 +79,30 @@ public class SpecificResourceAllocationTest {
private ResourceCalendar calendar;
private void givenResourceCalendarAlwaysReturning(final int hours) {
this.calendar = createNiceMock(ResourceCalendar.class);
expect(this.calendar.getCapacityOn(isA(PartialDay.class)))
.andReturn(EffortDuration.hours(hours)).anyTimes();
IAnswer<? extends EffortDuration> asDurationAnswer = asDurationOnAnswer(hours(hours));
expect(
this.calendar.asDurationOn(isA(PartialDay.class),
isA(ResourcesPerDay.class)))
.andAnswer(asDurationAnswer).anyTimes();
expect(this.calendar.getCapacityWithOvertime(isA(LocalDate.class)))
.andReturn(
Capacity.create(hours(hours))
.overAssignableWithoutLimit()).anyTimes();
expect(this.calendar.getAvailability()).andReturn(
AvailabilityTimeLine.allValid()).anyTimes();
replay(this.calendar);
this.calendar = createResourceCalendarAlwaysReturning(hours);
}
private IAnswer<? extends EffortDuration> asDurationOnAnswer(
public static ResourceCalendar createResourceCalendarAlwaysReturning(final int hours) {
ResourceCalendar workerCalendar;
workerCalendar = createNiceMock(ResourceCalendar.class);
expect(workerCalendar.getCapacityOn(isA(PartialDay.class)))
.andReturn(EffortDuration.hours(hours)).anyTimes();
IAnswer<? extends EffortDuration> asDurationAnswer = asDurationOnAnswer(hours(hours));
expect(
workerCalendar.asDurationOn(isA(PartialDay.class),
isA(ResourcesPerDay.class)))
.andAnswer(asDurationAnswer).anyTimes();
expect(workerCalendar.getCapacityWithOvertime(isA(LocalDate.class)))
.andReturn(
Capacity.create(hours(hours))
.overAssignableWithoutLimit()).anyTimes();
expect(workerCalendar.getAvailability()).andReturn(
AvailabilityTimeLine.allValid()).anyTimes();
replay(workerCalendar);
return workerCalendar;
}
private static IAnswer<? extends EffortDuration> asDurationOnAnswer(
final EffortDuration duration) {
return new IAnswer<EffortDuration>() {

View file

@ -43,7 +43,6 @@ import java.util.Date;
import javax.annotation.Resource;
import org.easymock.IAnswer;
import org.easymock.classextension.EasyMock;
import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
@ -51,7 +50,6 @@ import org.junit.runner.RunWith;
import org.libreplan.business.IDataBootstrap;
import org.libreplan.business.calendars.entities.AvailabilityTimeLine;
import org.libreplan.business.calendars.entities.BaseCalendar;
import org.libreplan.business.calendars.entities.Capacity;
import org.libreplan.business.calendars.entities.ResourceCalendar;
import org.libreplan.business.orders.entities.HoursGroup;
import org.libreplan.business.orders.entities.Order;
@ -397,37 +395,8 @@ public class TaskTest {
replay(this.worker);
}
/* Taken from: SpecificResourceAllocationTest (TODO: Refactor) */
private void givenResourceCalendarAlwaysReturning(final int hours) {
this.workerCalendar = createNiceMock(ResourceCalendar.class);
expect(this.workerCalendar.getCapacityOn(isA(PartialDay.class)))
.andReturn(EffortDuration.hours(hours)).anyTimes();
IAnswer<? extends EffortDuration> asDurationAnswer = asDurationOnAnswer(hours(hours));
expect(
this.workerCalendar.asDurationOn(isA(PartialDay.class),
isA(ResourcesPerDay.class)))
.andAnswer(asDurationAnswer).anyTimes();
expect(this.workerCalendar.getCapacityWithOvertime(isA(LocalDate.class)))
.andReturn(
Capacity.create(hours(hours))
.overAssignableWithoutLimit()).anyTimes();
expect(this.workerCalendar.getAvailability()).andReturn(
AvailabilityTimeLine.allValid()).anyTimes();
replay(this.workerCalendar);
this.workerCalendar = SpecificResourceAllocationTest.
createResourceCalendarAlwaysReturning(hours);
}
/* Taken from: SpecificResourceAllocationTest (TODO: Refactor) */
private IAnswer<? extends EffortDuration> asDurationOnAnswer(
final EffortDuration duration) {
return new IAnswer<EffortDuration>() {
@Override
public EffortDuration answer() throws Throwable {
ResourcesPerDay perDay = (ResourcesPerDay) EasyMock
.getCurrentArguments()[1];
return perDay.asDurationGivenWorkingDayOf(duration);
}
};
}
}