#57 FunctionalCustomTimer unit test

This commit is contained in:
reyniersbram 2023-04-17 17:50:09 +02:00
parent 9834ce4a06
commit 55b35073c7
4 changed files with 66 additions and 3 deletions

View file

@ -1,7 +1,7 @@
package be.ugent.sel.studeez.data.local.models.timer_functional
abstract class FunctionalTimer(initialValue: Int) {
protected val time: Time = Time(initialValue)
val time: Time = Time(initialValue)
var view: String = "Focus"
fun getHoursMinutesSeconds(): HoursMinutesSeconds {

View file

@ -0,0 +1,38 @@
package be.ugent.sel.studeez
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalCustomTimer
import org.junit.Assert
class FunctionalCustomTimerUnitTest: FunctionalTimerUnitTest() {
override fun setup() {
timer = FunctionalCustomTimer(time)
}
override fun testOneTick() {
timer.tick()
Assert.assertEquals(
time - 1,
timer.time.time,
)
}
override fun multipleTicks() {
val n = 10
for (i in 1 .. n) {
timer.tick()
}
Assert.assertEquals(
time - n,
timer.time.time,
)
}
override fun testEnded() {
timer = FunctionalCustomTimer(0)
timer.tick()
Assert.assertEquals(
"Done!",
timer.view
)
}
}

View file

@ -0,0 +1,25 @@
package be.ugent.sel.studeez
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer
import org.junit.Before
import org.junit.Test
abstract class FunctionalTimerUnitTest {
protected lateinit var timer: FunctionalTimer
private val hours = 4
private val minutes = 20
private val seconds = 39
protected val time = seconds + minutes * 60 + hours * 60 * 60
@Before
abstract fun setup()
@Test
abstract fun testOneTick()
@Test
abstract fun multipleTicks()
@Test
abstract fun testEnded()
}

View file

@ -58,7 +58,7 @@ class TimeUnitTest {
@Test
fun minMultiple() {
val n = 10
for (i in 1..n) {
for (i in 1 .. n) {
time.minOne()
}
Assert.assertEquals(
@ -70,7 +70,7 @@ class TimeUnitTest {
@Test
fun plusMultiple() {
val n = 10
for (i in 1..n) {
for (i in 1 .. n) {
time.plusOne()
}
Assert.assertEquals(