Zeit testen
parent
bc01f4a588
commit
4f91ab08f9
|
|
@ -0,0 +1,131 @@
|
||||||
|
import domain.HitoriGameTimer;
|
||||||
|
import org.junit.jupiter.api.*;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class HitoriGameTimerTest {
|
||||||
|
private HitoriGameTimer timer;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() {
|
||||||
|
timer = new HitoriGameTimer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testInitialState() {
|
||||||
|
assertEquals(0, timer.getElapsedTimeInSeconds());
|
||||||
|
assertFalse(timer.isPaused());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testStartTimer() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(1100); // Wait a bit more than 1 second
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
assertTrue(timer.getElapsedTimeInSeconds() >= 1);
|
||||||
|
assertFalse(timer.isPaused());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testPauseTimer() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
timer.pauseTimer();
|
||||||
|
long pausedTime = timer.getElapsedTimeInSeconds();
|
||||||
|
assertTrue(timer.isPaused());
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Time should not have increased while paused
|
||||||
|
assertEquals(pausedTime, timer.getElapsedTimeInSeconds());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testResumeTimer() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
timer.pauseTimer();
|
||||||
|
long pausedTime = timer.getElapsedTimeInSeconds();
|
||||||
|
|
||||||
|
timer.startTimer(); // Resume
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
assertTrue(timer.getElapsedTimeInSeconds() > pausedTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testStopTimer() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
timer.stopTimer();
|
||||||
|
long stoppedTime = timer.getElapsedTimeInSeconds();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(stoppedTime, timer.getElapsedTimeInSeconds());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testResetTimer() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
timer.resetTimer();
|
||||||
|
assertEquals(0, timer.getElapsedTimeInSeconds());
|
||||||
|
assertFalse(timer.isPaused());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testMultiplePauseResume() {
|
||||||
|
timer.startTimer();
|
||||||
|
try {
|
||||||
|
Thread.sleep(500);
|
||||||
|
timer.pauseTimer();
|
||||||
|
Thread.sleep(500);
|
||||||
|
timer.startTimer();
|
||||||
|
Thread.sleep(500);
|
||||||
|
timer.pauseTimer();
|
||||||
|
Thread.sleep(500);
|
||||||
|
timer.startTimer();
|
||||||
|
Thread.sleep(500);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
fail("Timer test interrupted");
|
||||||
|
}
|
||||||
|
|
||||||
|
assertTrue(timer.getElapsedTimeInSeconds() >= 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue