ItEr29S10ClasificacionTraballoItEr28S12: Fixing problem checking overlapping when the tasks are included one into the other.

This commit is contained in:
Óscar González Fernández 2009-10-08 12:40:00 +02:00
parent 96e1624ea6
commit 8ce8917b31
2 changed files with 18 additions and 9 deletions

View file

@ -129,10 +129,11 @@ class Range extends Interval {
Point point = (Point) interval;
return point.overlapsWith(this);
}
return contains(interval.start)
|| (interval.end != null ? contains(interval.end)
&& !interval.end.equals(start) : end
.compareTo(interval.start) > 0);
if (interval instanceof OpenEndedInterval) {
return interval.overlapsWith(this);
}
return interval.start.compareTo(this.end) < 0
&& this.start.compareTo(interval.end) < 0;
}
@Override

View file

@ -20,17 +20,17 @@
package org.navalplanner.business.test.resources.entities;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest.year;
import java.util.Date;
import org.junit.Test;
import org.navalplanner.business.resources.entities.Interval;
import org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest.year;
public class IntervalTest {
@Test(expected = IllegalArgumentException.class)
@ -166,4 +166,12 @@ public class IntervalTest {
Interval range = Interval.range(year(1990), year(1990));
assertEquals(point, range);
}
@Test
public void testOverlappingWhenContained() {
Interval range = Interval.range(year(1990), year(2000));
Interval contained = Interval.range(year(1995), year(1997));
assertTrue(range.overlapsWith(contained));
assertTrue(contained.overlapsWith(range));
}
}