| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package cz.davza.studentadventure.objects;
- import org.junit.jupiter.api.Test;
- import static org.junit.jupiter.api.Assertions.*;
- class GameTimeTest {
- @Test
- void startsOnDay1At8() {
- GameTime time = new GameTime();
- assertEquals(1, time.getDay());
- assertEquals(8, time.getHour());
- }
- @Test
- void advanceHoursWithinSameDay() {
- GameTime time = new GameTime();
- time.advanceHours(3);
- assertEquals(1, time.getDay());
- assertEquals(11, time.getHour());
- }
- @Test
- void advanceHoursRollsOverToNextDay() {
- GameTime time = new GameTime();
- time.advanceHours(20); // 8 + 20 = 28 → day 2, hour 4
- assertEquals(2, time.getDay());
- assertEquals(4, time.getHour());
- }
- @Test
- void advanceHoursRollsOverMultipleDays() {
- GameTime time = new GameTime();
- time.advanceHours(48); // 8 + 48 = 56 → day 3, hour 8
- assertEquals(3, time.getDay());
- assertEquals(8, time.getHour());
- }
- @Test
- void advanceToNextMorningSetsDay2Hour8() {
- GameTime time = new GameTime();
- time.advanceHours(5); // move to hour 13
- time.advanceToNextMorning();
- assertEquals(2, time.getDay());
- assertEquals(8, time.getHour());
- }
- @Test
- void notPastDeadlineAtStart() {
- GameTime time = new GameTime();
- assertFalse(time.isPastDeadline());
- }
- @Test
- void notPastDeadlineJustBeforeExam() {
- GameTime time = new GameTime();
- // advance to day 7, hour 8 — one hour before deadline
- for (int i = 0; i < 6; i++) time.advanceToNextMorning();
- assertEquals(7, time.getDay());
- assertEquals(8, time.getHour());
- assertFalse(time.isPastDeadline());
- }
- @Test
- void pastDeadlineAtExactDeadline() {
- GameTime time = new GameTime();
- for (int i = 0; i < 6; i++) time.advanceToNextMorning();
- time.advanceHours(1); // day 7, hour 9
- assertTrue(time.isPastDeadline());
- }
- @Test
- void pastDeadlineAfterDay7() {
- GameTime time = new GameTime();
- for (int i = 0; i < 7; i++) time.advanceToNextMorning();
- assertTrue(time.isPastDeadline());
- }
- @Test
- void toStringFormat() {
- GameTime time = new GameTime();
- assertEquals("Day 1, 08:00", time.toString());
- }
- }
|