• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

LuciaCastellucci / PPS-24-whodunnit / 19340178096

13 Nov 2025 05:25PM UTC coverage: 75.116%. Remained the same
19340178096

push

github

robertomitugno
chore: merge branch feat/solution into dev

6 of 41 new or added lines in 8 files covered. (14.63%)

13 existing lines in 3 files now uncovered.

323 of 430 relevant lines covered (75.12%)

0.75 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/scala/model/ModelModule.scala
1
package model
2

3
import model.game.GameState
4

5
import scala.concurrent.duration.Duration
6

7
object ModelModule:
8

9
  trait Model:
10
    def state: GameState
11
    def updateState(updater: GameState => GameState): GameState
12
    def getRemainingTime: Option[Duration]
13

14
  trait Provider:
15
    def model: Model
16

17
  trait Component:
18

19
    class ModelImpl extends Model:
20

UNCOV
21
      @volatile private var currentState: GameState = GameState.empty()
×
22

23
      override def state: GameState = currentState
×
24

25
      override def updateState(updater: GameState => GameState): GameState =
×
UNCOV
26
        synchronized {
×
27
          currentState = updater(currentState)
×
28
          currentState
29
        }
30

NEW
31
      override def getRemainingTime: Option[Duration] =
×
NEW
32
        state.timer.flatMap { timer =>
×
NEW
33
          model.game.TimerLogic.getRemainingTime(timer.state)
×
34
        }
35

36
  trait Interface extends Provider with Component:
UNCOV
37
    override lazy val model: Model = new ModelImpl()
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc