80 lines
2.7 KiB
Java
80 lines
2.7 KiB
Java
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
public class Aufgabe3Test {
|
|
|
|
@Test
|
|
public void testEP2() {
|
|
// create five bodies
|
|
Body sun = new Body(SolSystem.SUN);
|
|
Body earth = new Body(SolSystem.EARTH);
|
|
Body mercury = new Body(SolSystem.MERCURY);
|
|
Body venus = new Body(SolSystem.VENUS);
|
|
Body mars = new Body(SolSystem.MARS);
|
|
|
|
// check basic functions of 'BodyLinkedList'
|
|
BodyLinkedList bl = new BodyLinkedList();
|
|
|
|
bl.addLast(mercury);
|
|
bl.addLast(sun);
|
|
bl.addLast(earth);
|
|
assertEquals(3, bl.size());
|
|
|
|
assertEquals(mercury, bl.getFirst());
|
|
assertEquals(earth, bl.getLast());
|
|
|
|
assertEquals(mercury, bl.get(0));
|
|
assertEquals(sun, bl.get(1));
|
|
assertEquals(earth, bl.get(2));
|
|
|
|
assertEquals(2, bl.indexOf(earth));
|
|
assertEquals(1, bl.indexOf(sun));
|
|
assertEquals(0, bl.indexOf(mercury));
|
|
|
|
assertEquals(mercury, bl.pollFirst());
|
|
assertEquals(earth, bl.pollLast());
|
|
assertEquals(sun, bl.pollFirst());
|
|
|
|
assertEquals(0, bl.size());
|
|
assertNull(bl.getFirst());
|
|
|
|
bl.addFirst(earth);
|
|
bl.addFirst(venus);
|
|
bl.addFirst(sun);
|
|
bl.add(1, mercury);
|
|
bl.add(4, mars);
|
|
|
|
assertEquals(5, bl.size());
|
|
|
|
assertEquals(sun, bl.get(0));
|
|
assertEquals(mercury, bl.get(1));
|
|
assertEquals(venus, bl.get(2));
|
|
assertEquals(earth, bl.get(3));
|
|
assertEquals(mars, bl.get(4));
|
|
|
|
// check constructor of 'BodyLinkedList'
|
|
BodyLinkedList blCopy = new BodyLinkedList(bl);
|
|
assertNotEquals(bl, blCopy);
|
|
assertEquals(blCopy.pollFirst(), bl.pollFirst());
|
|
bl.addFirst(sun);
|
|
assertEquals(5, bl.size());
|
|
assertEquals(4, blCopy.size());
|
|
|
|
// check basic functions of 'BodyForceTreeMap'
|
|
BodyForceTreeMap bfm = new BodyForceTreeMap();
|
|
bfm.put(earth, earth.gravitationalForce(sun));
|
|
bfm.put(sun, sun.gravitationalForce(earth).plus(sun.gravitationalForce(venus)));
|
|
bfm.put(venus, venus.gravitationalForce(sun));
|
|
bfm.put(mars, mars.gravitationalForce(sun));
|
|
bfm.put(mercury, mercury.gravitationalForce(sun));
|
|
|
|
assertEquals(0, bfm.get(earth).distanceTo(earth.gravitationalForce(sun)));
|
|
assertEquals(0, bfm.get(sun).distanceTo(sun.gravitationalForce(earth).plus(sun.gravitationalForce(venus))));
|
|
|
|
assertEquals(0, bfm.put(earth, new Vector3(0, 0, 0)).distanceTo(earth.gravitationalForce(sun)));
|
|
assertEquals(0, bfm.get(mercury).distanceTo(mercury.gravitationalForce(sun)));
|
|
assertEquals(mercury.gravitationalForce(sun), bfm.get(mercury));
|
|
}
|
|
}
|