52 lines
1.5 KiB
Java
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));
|
|
}
|
|
}
|