Initialize Project Sacrifice backlog and source baseline

This commit is contained in:
2026-08-18 00:46:42 +03:00
parent d28ea8c3fd
commit 29d4a2d8d8
34 changed files with 4630 additions and 151 deletions
@@ -0,0 +1,32 @@
package com.projectsacrifice.game;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public final class GameMathTest {
@Test
public void intersectionTreatsTouchingEdgesAsNonOverlap() {
assertFalse(GameMath.intersects(0, 0, 10, 10, 10, 0, 10, 10));
assertTrue(GameMath.intersects(0, 0, 10, 10, 9.9f, 0, 10, 10));
}
@Test
public void pingPongIsDeterministicAndBounded() {
assertEquals(0f, GameMath.pingPong(0f, 4f), 0.0001f);
assertEquals(1f, GameMath.pingPong(2f, 4f), 0.0001f);
assertEquals(0f, GameMath.pingPong(4f, 4f), 0.0001f);
for (int i = 0; i < 100; i++) {
float value = GameMath.pingPong(i * 0.13f, 3.7f);
assertTrue(value >= 0f && value <= 1f);
}
}
@Test
public void timeFormattingIsStable() {
assertEquals("00:00", GameMath.formatTime(999));
assertEquals("01:05", GameMath.formatTime(65_000));
}
}