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

LuciaCastellucci / PPS-24-whodunnit / 19209061988

09 Nov 2025 01:17PM UTC coverage: 86.481% (+2.4%) from 84.106%
19209061988

push

github

LuciaCastellucci
chore: merge branch 'feat/versioning' into dev

22 of 26 new or added lines in 3 files covered. (84.62%)

3 existing lines in 2 files now uncovered.

403 of 466 relevant lines covered (86.48%)

0.86 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
object ModelModule:
6

7
  trait Model:
8
    def state: GameState
9
    def updateState(updater: GameState => GameState): GameState
10
    def startTimer(): Unit
11
    def resetState(): GameState
12

13
    def addHint(hint: game.Hint): GameState =
×
14
      updateState(_.addHint(hint))
×
15

16
    def updateHistory(f: game.History => game.History): GameState =
×
UNCOV
17
      updateState(_.updateHistory(f))
×
18

NEW
19
    def addGraphToHistory(graph: game.CaseKnowledgeGraph): GameState =
×
NEW
20
      updateState(_.addGraphToHistory(graph))
×
21

22
  trait Provider:
23
    def model: Model
24

25
  trait Component:
26

27
    class ModelImpl extends Model:
28

29
      @volatile private var currentState: GameState = GameState.empty()
×
30

31
      override def state: GameState = currentState
×
32

33
      override def updateState(updater: GameState => GameState): GameState =
×
34
        synchronized {
×
35
          currentState = updater(currentState)
×
36
          currentState
37
        }
38

39
      override def resetState(): GameState =
×
40
        synchronized {
×
41
          currentState = GameState.empty()
×
42
          currentState
43
        }
44

45
      override def startTimer(): Unit =
×
46
        synchronized {
×
47
          currentState.timer.foreach(_.start())
×
48
        }
49

50
  trait Interface extends Provider with Component:
51
    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