[Bug #871] Added more tests checking more constraints.
FEA: ItEr71S04BugFixing
This commit is contained in:
parent
6f02dda4d6
commit
3d2571d362
1 changed files with 92 additions and 4 deletions
|
|
@ -3037,14 +3037,14 @@ public class CriticalPathCalculatorTest {
|
|||
* </pre>
|
||||
*/
|
||||
private void givenPairOfTasksWithDependencyFirstWithBiggerConstraintAndSecondWithEqualConstraint(
|
||||
int daysTask1, LocalDate dateConstraintTask1, int daysTask2,
|
||||
LocalDate dateConstraintTask2) {
|
||||
int daysTask1, LocalDate dateBiggerOrEqualConstraintTask1,
|
||||
int daysTask2, LocalDate dateEqualConstraintTask2) {
|
||||
diagramGraphExample = createNiceMock(ICriticalPathCalculable.class);
|
||||
|
||||
ITaskFundamentalProperties task1 = createTaskWithBiggerOrEqualThanConstraint(
|
||||
START, daysTask1, dateConstraintTask1);
|
||||
START, daysTask1, dateBiggerOrEqualConstraintTask1);
|
||||
ITaskFundamentalProperties task2 = createTaskWithEqualConstraint(START,
|
||||
daysTask2, dateConstraintTask2);
|
||||
daysTask2, dateEqualConstraintTask2);
|
||||
|
||||
List<ITaskFundamentalProperties> listOfTasks = Arrays.asList(task1,
|
||||
task2);
|
||||
|
|
@ -3115,4 +3115,92 @@ public class CriticalPathCalculatorTest {
|
|||
assertThat(daysBetweenStartAndEnd(criticalPath.get(0)), equalTo(4));
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* #### T1 ####
|
||||
* |---- #### T2 ####
|
||||
* </pre>
|
||||
*/
|
||||
private void givenPairOfTasksWithDependencyBothWithEqualConstraint(
|
||||
int daysTask1, LocalDate dateEqualConstraintTask1, int daysTask2,
|
||||
LocalDate dateEqualConstraintTask2) {
|
||||
diagramGraphExample = createNiceMock(ICriticalPathCalculable.class);
|
||||
|
||||
ITaskFundamentalProperties task1 = createTaskWithEqualConstraint(
|
||||
START, daysTask1, dateEqualConstraintTask1);
|
||||
ITaskFundamentalProperties task2 = createTaskWithEqualConstraint(START,
|
||||
daysTask2, dateEqualConstraintTask2);
|
||||
|
||||
List<ITaskFundamentalProperties> listOfTasks = Arrays.asList(task1,
|
||||
task2);
|
||||
|
||||
expect(diagramGraphExample.getTasks()).andReturn(listOfTasks)
|
||||
.anyTimes();
|
||||
expect(diagramGraphExample.getInitialTasks()).andReturn(
|
||||
Arrays.asList(task1)).anyTimes();
|
||||
expect(diagramGraphExample.getLatestTasks()).andReturn(
|
||||
Arrays.asList(task2)).anyTimes();
|
||||
expect(
|
||||
diagramGraphExample.getDependencyFrom(
|
||||
isA(ITaskFundamentalProperties.class),
|
||||
isA(ITaskFundamentalProperties.class))).andReturn(null)
|
||||
.anyTimes();
|
||||
expect(diagramGraphExample.getIncomingTasksFor(task1)).andReturn(
|
||||
new HashSet<ITaskFundamentalProperties>()).anyTimes();
|
||||
expect(diagramGraphExample.getIncomingTasksFor(task2)).andReturn(
|
||||
new HashSet<ITaskFundamentalProperties>(Arrays.asList(task1)))
|
||||
.anyTimes();
|
||||
expect(diagramGraphExample.getOutgoingTasksFor(task1)).andReturn(
|
||||
new HashSet<ITaskFundamentalProperties>(Arrays.asList(task2)))
|
||||
.anyTimes();
|
||||
expect(diagramGraphExample.getOutgoingTasksFor(task2)).andReturn(
|
||||
new HashSet<ITaskFundamentalProperties>()).anyTimes();
|
||||
|
||||
addTaskMethods(listOfTasks);
|
||||
|
||||
replay(diagramGraphExample);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void examplePairOfTasksWithDependencyBothWithEqualConstraint1() {
|
||||
givenPairOfTasksWithDependencyBothWithEqualConstraint(
|
||||
6, START.plusDays(2), 4, START);
|
||||
List<ITaskFundamentalProperties> criticalPath = buildCalculator()
|
||||
.calculateCriticalPath(diagramGraphExample);
|
||||
|
||||
assertThat(criticalPath.size(), equalTo(2));
|
||||
for (ITaskFundamentalProperties task : criticalPath) {
|
||||
assertThat(daysBetweenStartAndEnd(task), anyOf(equalTo(6),
|
||||
equalTo(4)));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void examplePairOfTasksWithDependencyBothWithEqualConstraint2() {
|
||||
givenPairOfTasksWithDependencyBothWithEqualConstraint(
|
||||
6, START, 4, START.plusDays(5));
|
||||
List<ITaskFundamentalProperties> criticalPath = buildCalculator()
|
||||
.calculateCriticalPath(diagramGraphExample);
|
||||
|
||||
assertThat(criticalPath.size(), equalTo(2));
|
||||
for (ITaskFundamentalProperties task : criticalPath) {
|
||||
assertThat(daysBetweenStartAndEnd(task), anyOf(equalTo(6),
|
||||
equalTo(4)));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void examplePairOfTasksWithDependencyBothWithEqualConstraint3() {
|
||||
givenPairOfTasksWithDependencyBothWithEqualConstraint(
|
||||
6, START, 4, START.plusDays(10));
|
||||
List<ITaskFundamentalProperties> criticalPath = buildCalculator()
|
||||
.calculateCriticalPath(diagramGraphExample);
|
||||
|
||||
assertThat(criticalPath.size(), equalTo(2));
|
||||
for (ITaskFundamentalProperties task : criticalPath) {
|
||||
assertThat(daysBetweenStartAndEnd(task), anyOf(equalTo(6),
|
||||
equalTo(4)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue