Files
EP2/src/Aufgabe2Test.java
2022-04-07 17:52:43 +02:00

52 lines
1.5 KiB
Java

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class Aufgabe2Test {
@Test
public void testEP2() {
// create three bodies
Body sun = new Body(SolSystem.SUN);
Body earth = new Body(SolSystem.EARTH);
Body mercury = new Body(SolSystem.MERCURY);
// check basic functions of 'BodyQueue'
BodyQueue bq = new BodyQueue(2);
bq.add(mercury);
bq.add(sun);
bq.add(earth);
assertEquals(3, bq.size());
assertEquals(mercury, bq.poll());
assertEquals(sun, bq.poll());
assertEquals(earth, bq.poll());
assertEquals(0, bq.size());
bq.add(mercury);
bq.add(sun);
assertEquals(2, bq.size());
// check constructor of 'BodyQueue'
BodyQueue bqCopy = new BodyQueue(bq);
assertNotEquals(bq, bqCopy);
assertEquals(bqCopy.poll(), bq.poll());
bq.add(earth);
assertEquals(2, bq.size());
assertEquals(1, bqCopy.size());
// check basic functions of 'BodyForceMap'
BodyForceMap bfm = new BodyForceMap(5);
bfm.put(earth, earth.gravitationalForce(sun));
bfm.put(sun, sun.gravitationalForce(earth));
assertEquals(0, bfm.get(earth).distanceTo(earth.gravitationalForce(sun)));
assertEquals(0, bfm.get(sun).distanceTo(sun.gravitationalForce(earth)));
bfm.put(earth, new Vector3(0, 0, 0));
assertEquals(0, bfm.get(earth).distanceTo(new Vector3(0, 0, 0)));
assertNull(bfm.get(mercury));
}
}