Zeit testen #5
|
|
@ -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