Select Git revision
WarriorTest.java
Forked from
NAVES Guyslain / ProgAvExercices
Source project has a limited visibility.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
IntervalTest.java 2.73 KiB
package fr.univamu.progav.td7;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
import static org.junit.jupiter.api.Assertions.*;
class IntervalTest {
@Test
void contains() {
Interval range = new Interval(-2, 5);
assertTrue(range.contains(-2));
assertTrue(range.contains(0));
assertTrue(range.contains(1));
assertTrue(range.contains(4));
assertTrue(range.contains(5));
assertFalse(range.contains(-3));
assertFalse(range.contains(-30));
assertFalse(range.contains(6));
assertFalse(range.contains(42));
assertFalse(range.contains(2904429));
}
@Test
void size() {
assertEquals(5, new Interval(0,4).size());
assertEquals(0, new Interval(4,0).size());
assertEquals(6, new Interval(4,9).size());
assertEquals(7, new Interval(-7,-1).size());
assertEquals(8, new Interval(-3,4).size());
assertEquals(1, new Interval(3,3).size());
}
@Test
void isEmpty() {
assertTrue(new Interval(5,3).isEmpty());
assertTrue(new Interval(2,-5).isEmpty());
assertTrue(new Interval(0,-1).isEmpty());
assertTrue(new Interval(1,0).isEmpty());
assertFalse(new Interval(1,1).isEmpty());
assertFalse(new Interval(0,0).isEmpty());
assertFalse(new Interval(-3,3).isEmpty());
}
@Test
void intersects() {
assertTrue(new Interval(1,5).intersects(new Interval(2,3)));
assertTrue(new Interval(-5,5).intersects(new Interval(-3,-2)));
assertTrue(new Interval(-5,5).intersects(new Interval(-2,3)));
assertTrue(new Interval(-5,5).intersects(new Interval(-6,-5)));
assertTrue(new Interval(-5,5).intersects(new Interval(5,7)));
assertTrue(new Interval(-3,4).intersects(new Interval(-4,8)));
assertFalse(new Interval(-3,4).intersects(new Interval(2,-2)));
assertFalse(new Interval(-3,4).intersects(new Interval(5,8)));
assertFalse(new Interval(-3,4).intersects(new Interval(-7,-4)));
assertFalse(new Interval(-3,4).intersects(new Interval(12,35)));
assertFalse(new Interval(-3,4).intersects(new Interval(67,-21)));
}
@Test
void iterator() {
Iterator<Integer> iterator = new Interval(-2,8).iterator();
List<Integer> elements = new ArrayList<>();
while (iterator.hasNext()) {
elements.add(iterator.next());
}
assertEquals(List.of(-2,-1,0,1,2,3,4,5,6,7,8), elements);
assertThrows(NoSuchElementException.class, iterator::next, "Iterator.next() must throw NoSuchElementException when iteration is over");
iterator = new Interval(0,-1).iterator();
assertFalse(iterator.hasNext());
assertThrows(NoSuchElementException.class, iterator::next, "Iterator.next() must throw NoSuchElementException when iteration is over");
}
}