From 4f91ab08f93a9286ee9bfdd2a304708de3053a5b Mon Sep 17 00:00:00 2001 From: 3013016 Date: Mon, 6 Jan 2025 23:37:38 +0100 Subject: [PATCH] Zeit testen --- src/test/java/HitoriGameTimerTest.java | 131 +++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 src/test/java/HitoriGameTimerTest.java diff --git a/src/test/java/HitoriGameTimerTest.java b/src/test/java/HitoriGameTimerTest.java new file mode 100644 index 0000000..6463f83 --- /dev/null +++ b/src/test/java/HitoriGameTimerTest.java @@ -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); + } +} -- 2.51.0