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

Martomate / TriPaint / 9275511596

28 May 2024 07:51PM UTC coverage: 29.682% (+1.8%) from 27.877%
9275511596

push

github

Martomate
Updated to Scala 3.4 and MUnit 1.0

2 of 11 new or added lines in 9 files covered. (18.18%)

430 existing lines in 38 files now uncovered.

401 of 1351 relevant lines covered (29.68%)

0.3 hits per line

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

91.67
/src/main/scala/tripaint/model/image/ImageChange.scala
1
package tripaint.model.image
2

3
import tripaint.model.{Change, Color}
4
import tripaint.model.coords.TriangleCoords
5

6
import scala.collection.mutable.ArrayBuffer
7

8
class ImageChange private (image: ImageStorage, pixelsChanged: Seq[ImageChange.PixelChange])
9
    extends Change {
10
  def redo(): Unit =
1✔
11
    for ch <- pixelsChanged do image.setColor(ch.coords, ch.after)
1✔
12

13
  def undo(): Unit =
1✔
14
    for ch <- pixelsChanged do image.setColor(ch.coords, ch.before)
1✔
15
}
16

17
object ImageChange {
18
  private case class PixelChange(coords: TriangleCoords, before: Color, after: Color)
19

20
  class Builder {
21
    private val pixelsChanged = ArrayBuffer.empty[PixelChange]
1✔
22

23
    def done(image: ImageStorage): ImageChange =
1✔
24
      val change = new ImageChange(image, pixelsChanged.reverse.toVector)
1✔
25
      pixelsChanged.clear()
1✔
26
      change
27

28
    def addChange(index: TriangleCoords, oldColor: Color, newColor: Color): Builder =
1✔
29
      pixelsChanged += PixelChange(index, oldColor, newColor)
1✔
30
      this
31

UNCOV
32
    def nonEmpty: Boolean = pixelsChanged.nonEmpty
×
33
  }
34

35
  def builder(): Builder = new Builder
1✔
36
}
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

© 2025 Coveralls, Inc