forked from github/wulkanowy-mirror
Add option to change plus and minus modifier separately (#192)
This commit is contained in:

committed by
Rafał Borcz

parent
92baecbd0d
commit
900065d758
@ -3,31 +3,30 @@ package io.github.wulkanowy.utils
|
||||
import io.github.wulkanowy.data.db.entities.Grade
|
||||
import io.github.wulkanowy.data.db.entities.GradeSummary
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.threeten.bp.LocalDate
|
||||
|
||||
class GradeExtensionTest {
|
||||
|
||||
@Mock
|
||||
lateinit var date: LocalDate
|
||||
|
||||
@Before
|
||||
fun before() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun calcWeightedAverage() {
|
||||
val localDate = mock(LocalDate::class.java)
|
||||
assertEquals(3.47, listOf(
|
||||
Grade(1, 1, "", "", 5, 0.33
|
||||
, "", "", "", "", "",
|
||||
6, localDate, ""),
|
||||
Grade(1, 1, "", "", 5, -0.33
|
||||
, "", "", "", "", "",
|
||||
5, localDate, ""),
|
||||
Grade(1, 1, "", "", 4, 0.0
|
||||
, "", "", "", "", "",
|
||||
1, localDate, ""),
|
||||
Grade(1, 1, "", "", 1, 0.5
|
||||
, "", "", "", "", "",
|
||||
9, localDate, ""),
|
||||
Grade(1, 1, "", "", 0, 0.0
|
||||
, "", "", "", "", "",
|
||||
0, localDate, "")
|
||||
createGrade(5, 6, 0.33),
|
||||
createGrade(5, 5, -0.33),
|
||||
createGrade(4, 1, 0.0),
|
||||
createGrade(1, 9, 0.5),
|
||||
createGrade(0, 0, 0.0)
|
||||
).calcAverage(), 0.005)
|
||||
}
|
||||
|
||||
@ -42,16 +41,39 @@ class GradeExtensionTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun changeModifierTest() {
|
||||
val localDate = mock(LocalDate::class.java)
|
||||
assertEquals(0.33, Grade(1, 1, "", "", 5, 0.25
|
||||
, "", "", "", "", "",
|
||||
6, localDate, "").changeModifier(0.33).modifier, 0.0)
|
||||
assertEquals(-0.33, Grade(1, 1, "", "", 5, -0.25
|
||||
, "", "", "", "", "",
|
||||
6, localDate, "").changeModifier(0.33).modifier, 0.0)
|
||||
assertEquals(0.25, Grade(1, 1, "", "", 5, 0.25
|
||||
, "", "", "", "", "",
|
||||
6, localDate, "").changeModifier(0.0).modifier, 0.0)
|
||||
fun changeModifier_default() {
|
||||
assertEquals(.33, createGrade(5, 0, .33).changeModifier(.0, .0).modifier, .0)
|
||||
assertEquals(-.33, createGrade(5, 0, -.33).changeModifier(.0, .0).modifier, .0)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun changeModifier_plus() {
|
||||
assertEquals(.33, createGrade(5, 0, .25).changeModifier(.33, .50).modifier, .0)
|
||||
assertEquals(.25, createGrade(5, 0, .33).changeModifier(.25, .0).modifier, .0)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun changeModifier_minus() {
|
||||
assertEquals(-.33, createGrade(5, 0, -.25).changeModifier(.25, .33).modifier, .0)
|
||||
assertEquals(-.25, createGrade(5, 0, -.33).changeModifier(.0, .25).modifier, .0)
|
||||
}
|
||||
|
||||
private fun createGrade(value: Int, weightValue: Int = 0, modifier: Double = 0.25): Grade {
|
||||
return Grade(
|
||||
semesterId = 1,
|
||||
studentId = 1,
|
||||
subject = "",
|
||||
entry = "",
|
||||
value = value,
|
||||
modifier = modifier,
|
||||
comment = "",
|
||||
color = "",
|
||||
gradeSymbol = "",
|
||||
description = "",
|
||||
weight = "",
|
||||
weightValue = weightValue,
|
||||
date = date,
|
||||
teacher = ""
|
||||
)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user