Create easier to read methods for specifying overassingment

FEA: ItEr74S04BugFixing
This commit is contained in:
Óscar González Fernández 2011-04-20 13:41:55 +02:00
parent a7ac7512f0
commit c88e7e177d
10 changed files with 38 additions and 31 deletions

View file

@ -46,8 +46,8 @@ import org.navalplanner.business.common.entities.EntitySequence;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.resources.entities.VirtualWorker;
import org.navalplanner.business.workingday.EffortDuration;
import org.navalplanner.business.workingday.ResourcesPerDay;
import org.navalplanner.business.workingday.IntraDayDate.PartialDay;
import org.navalplanner.business.workingday.ResourcesPerDay;
/**
* Represents a calendar with some exception days. A calendar is valid till the
@ -59,7 +59,7 @@ import org.navalplanner.business.workingday.IntraDayDate.PartialDay;
public class BaseCalendar extends IntegrationEntity implements ICalendar {
private static final Capacity DEFAULT_VALUE = Capacity.zero()
.overAssignableWithoutLimit(true);
.overAssignableWithoutLimit();
public static BaseCalendar create() {
return create(new BaseCalendar(CalendarData.create()));
@ -72,7 +72,7 @@ public class BaseCalendar extends IntegrationEntity implements ICalendar {
public static BaseCalendar createBasicCalendar() {
BaseCalendar calendar = create();
Capacity eightHours = Capacity.create(hours(8))
.overAssignableWithoutLimit(true);
.overAssignableWithoutLimit();
calendar.setCapacityAt(Days.MONDAY, eightHours);
calendar.setCapacityAt(Days.TUESDAY, eightHours);
calendar.setCapacityAt(Days.WEDNESDAY, eightHours);

View file

@ -118,6 +118,14 @@ public class Capacity {
return new Capacity(standardEffort, allowedExtraEffort);
}
public Capacity overAssignableWithoutLimit() {
return overAssignableWithoutLimit(true);
}
public Capacity notOverAssignableWithoutLimit() {
return overAssignableWithoutLimit(false);
}
public Capacity overAssignableWithoutLimit(
boolean overAssignableWithoutLimit) {
if (overAssignableWithoutLimit) {

View file

@ -68,7 +68,7 @@ public class SameWorkHoursEveryDay implements ICalendar {
@Override
public Capacity getCapacityWithOvertime(LocalDate day) {
return Capacity.create(EffortDuration.hours(hours))
.overAssignableWithoutLimit(true);
.overAssignableWithoutLimit();
}
}

View file

@ -114,9 +114,8 @@ public class ConfigurationBootstrap implements IConfigurationBootstrap {
calendar.setCodeAutogenerated(true);
Capacity eightHours = Capacity.create(EffortDuration.hours(8))
.overAssignableWithoutLimit(true);
Capacity zeroCapacity = Capacity.zero().overAssignableWithoutLimit(
false);
.overAssignableWithoutLimit();
Capacity zeroCapacity = Capacity.zero().notOverAssignableWithoutLimit();
calendar.setCapacityAt(Days.MONDAY, eightHours);
calendar.setCapacityAt(Days.TUESDAY, eightHours);
calendar.setCapacityAt(Days.WEDNESDAY, eightHours);

View file

@ -103,7 +103,7 @@ public class BaseCalendarTest {
* @return
*/
private static Capacity withNormalDuration(EffortDuration effort) {
return Capacity.create(effort).overAssignableWithoutLimit(true);
return Capacity.create(effort).overAssignableWithoutLimit();
}
private BaseCalendar calendarFixture;
@ -791,7 +791,7 @@ public class BaseCalendarTest {
public void asDurationOnRespectsTheOverAssignablePropertyOfCalendarData() {
BaseCalendar calendar = createBasicCalendar();
calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(8))
.overAssignableWithoutLimit(true));
.overAssignableWithoutLimit());
assertThat(calendar.asDurationOn(
PartialDay.wholeDay(MONDAY_LOCAL_DATE),
@ -811,7 +811,7 @@ public class BaseCalendarTest {
public void getCapacityWithOvertimeOnReturnsTheCapacityForThatDay() {
BaseCalendar calendar = createBasicCalendar();
Capacity capacitySet = Capacity.create(hours(8))
.overAssignableWithoutLimit(true);
.overAssignableWithoutLimit();
calendar.setCapacityAt(Days.MONDAY, capacitySet);
assertThat(calendar.getCapacityWithOvertime(MONDAY_LOCAL_DATE),
@ -822,7 +822,7 @@ public class BaseCalendarTest {
public void asDurationOnRespectsTheNotOverAssignablePropertyOfCalendarData() {
BaseCalendar calendar = createBasicCalendar();
calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(8))
.overAssignableWithoutLimit(false));
.notOverAssignableWithoutLimit());
assertThat(calendar.asDurationOn(
PartialDay.wholeDay(MONDAY_LOCAL_DATE),
@ -857,7 +857,7 @@ public class BaseCalendarTest {
public void asDurationOnRespectsAnOverAssignableCalendarException() {
BaseCalendar calendar = createBasicCalendar();
addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(1))
.overAssignableWithoutLimit(true));
.overAssignableWithoutLimit());
assertThat(calendar.asDurationOn(
PartialDay.wholeDay(MONDAY_LOCAL_DATE),
@ -871,7 +871,7 @@ public class BaseCalendarTest {
public void asDurationOnRespectsANotOverAssignableCalendarException() {
BaseCalendar calendar = createBasicCalendar();
addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(1))
.overAssignableWithoutLimit(false));
.notOverAssignableWithoutLimit());
assertThat(calendar.asDurationOn(
PartialDay.wholeDay(MONDAY_LOCAL_DATE),
ResourcesPerDay.amount(1)), equalTo(hours(1)));
@ -909,7 +909,7 @@ public class BaseCalendarTest {
public void canWorkOnRespectsIsOverAssignable() {
BaseCalendar calendar = createBasicCalendar();
addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(0))
.overAssignableWithoutLimit(true));
.overAssignableWithoutLimit());
assertTrue(calendar.canWorkOn(MONDAY_LOCAL_DATE));
}
@ -918,12 +918,12 @@ public class BaseCalendarTest {
public void canWorkOnRespectsCalendarData() {
BaseCalendar calendar = createBasicCalendar();
calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0))
.overAssignableWithoutLimit(true));
.overAssignableWithoutLimit());
assertTrue(calendar.canWorkOn(MONDAY_LOCAL_DATE));
calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0))
.overAssignableWithoutLimit(false));
.notOverAssignableWithoutLimit());
assertFalse(calendar.canWorkOn(MONDAY_LOCAL_DATE));
}
@ -931,7 +931,7 @@ public class BaseCalendarTest {
public void theAvailabilityTimeLineTakesIntoAccountTheDaysItCannotWorkDueToCalendarData() {
BaseCalendar calendar = createBasicCalendar();
calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0))
.overAssignableWithoutLimit(false));
.notOverAssignableWithoutLimit());
AvailabilityTimeLine availability = calendar.getAvailability();
assertFalse(availability.isValid(MONDAY_LOCAL_DATE));

View file

@ -108,7 +108,7 @@ public class CapacityTest {
@Test
public void aCapacityWithZeroHoursAndOverAssignableWithoutLimitAllowsWorking() {
Capacity capacity = Capacity.zero().overAssignableWithoutLimit(true);
Capacity capacity = Capacity.zero().overAssignableWithoutLimit();
assertTrue(capacity.allowsWorking());
}
@ -120,8 +120,8 @@ public class CapacityTest {
@Test
public void aCapacityMultipliedByZero() {
Capacity[] originals = {
Capacity.create(hours(8)).overAssignableWithoutLimit(true),
Capacity.create(hours(8)).overAssignableWithoutLimit(false) };
Capacity.create(hours(8)).overAssignableWithoutLimit(),
Capacity.create(hours(8)).notOverAssignableWithoutLimit() };
for (Capacity original : originals) {
Capacity multipliedByZero = original.multiplyBy(0);
assertThat(multipliedByZero.getStandardEffort(), equalTo(zero()));
@ -161,7 +161,7 @@ public class CapacityTest {
public void theExtraEffortIsAlsoMinimized() {
assertThat(
Capacity.min(a.withAllowedExtraEffort(hours(2)),
b.overAssignableWithoutLimit(true))
b.overAssignableWithoutLimit())
.getAllowedExtraEffort(), equalTo(hours(2)));
assertThat(
@ -174,7 +174,7 @@ public class CapacityTest {
public void theExtraEffortIsMaximized() {
assertThat(
Capacity.max(a.withAllowedExtraEffort(hours(2)),
b.overAssignableWithoutLimit(true))
b.overAssignableWithoutLimit())
.getAllowedExtraEffort(), nullValue());
assertThat(
@ -185,11 +185,11 @@ public class CapacityTest {
@Test
public void testThereIsCapacityForMoreAllocations() {
assertThat(Capacity.create(hours(8)).overAssignableWithoutLimit(true)
assertThat(Capacity.create(hours(8)).overAssignableWithoutLimit()
.hasSpareSpaceForMoreAllocations(hours(10)), is(true));
Capacity notOverassignable = Capacity.create(hours(8))
.overAssignableWithoutLimit(false);
.notOverAssignableWithoutLimit();
assertFalse(notOverassignable
.hasSpareSpaceForMoreAllocations(hours(10)));

View file

@ -48,7 +48,7 @@ import org.navalplanner.business.workingday.ResourcesPerDay;
public class ResourceCalendarTest {
private static final Capacity capacityForEveryDay = Capacity.create(
EffortDuration.hours(8)).overAssignableWithoutLimit(true);
EffortDuration.hours(8)).overAssignableWithoutLimit();
public static ResourceCalendar createBasicResourceCalendar(int capacity) {
ResourceCalendar calendar = ResourceCalendar.create();

View file

@ -263,7 +263,7 @@ public class GenericResourceAllocationTest {
}
private Capacity fromHours(int hours) {
return Capacity.create(hours(hours)).overAssignableWithoutLimit(true);
return Capacity.create(hours(hours)).overAssignableWithoutLimit();
}
private void givenCalendarsForResources(Capacity capacity1,
@ -296,7 +296,7 @@ public class GenericResourceAllocationTest {
private void givenBaseCalendarWithoutExceptions(int hoursPerDay) {
BaseCalendar baseCalendar = createCalendar(BaseCalendar.class, Capacity
.create(hours(hoursPerDay)).overAssignableWithoutLimit(true));
.create(hours(hoursPerDay)).overAssignableWithoutLimit());
this.baseCalendar = baseCalendar;
}
@ -669,7 +669,7 @@ public class GenericResourceAllocationTest {
Capacity with2ExtraHours = workingDay
.withAllowedExtraEffort(hours(2));
givenCalendarsForResources(with2ExtraHours, with2ExtraHours,
workingDay.overAssignableWithoutLimit(true));
workingDay.overAssignableWithoutLimit());
givenWorkersWithLoads(0, 0, 0);
genericResourceAllocation.forResources(workers).allocate(
@ -718,7 +718,7 @@ public class GenericResourceAllocationTest {
givenGenericResourceAllocationForTask(task);
givenWorkersWithLoads(8, 8, 8);
givenVirtualWorkerWithCapacityAndLoad(Capacity.create(hours(8))
.overAssignableWithoutLimit(true), 5, hours(40));
.overAssignableWithoutLimit(), 5, hours(40));
genericResourceAllocation.forResources(workers).allocate(
ResourcesPerDay.amount(1));

View file

@ -301,7 +301,7 @@ public final class CalendarConverter {
.ordinal();
Capacity capacity = Capacity.create(
EffortDuration.hours(hoursPerDayDTO.hours))
.overAssignableWithoutLimit(true);
.overAssignableWithoutLimit();
result.put(day, capacity);
} catch (IllegalArgumentException e) {
throw new ValidationException(_("a day is not valid"));

View file

@ -223,7 +223,7 @@ public class BaseCalendarServiceTest {
CalendarData data = baseCalendar.getCalendarDataByCode("codeData");
assertEquals(Capacity.create(EffortDuration.hours(4))
.overAssignableWithoutLimit(true),
.overAssignableWithoutLimit(),
data.getCapacityOn(CalendarData.Days.FRIDAY));
assertEquals(Capacity.create(EffortDuration.hours(4))
.overAssignableWithoutLimit(true),