Skip to content

Commit

Permalink
Mer tester
Browse files Browse the repository at this point in the history
  • Loading branch information
MagnusTonnessen committed Feb 13, 2025
1 parent dd8afba commit 4bd28a9
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import no.nav.familie.ba.sak.datagenerator.lagAndelTilkjentYtelse
import no.nav.familie.ba.sak.datagenerator.lagBehandling
import no.nav.familie.ba.sak.datagenerator.lagEndretUtbetalingAndel
import no.nav.familie.ba.sak.datagenerator.lagPerson
import no.nav.familie.ba.sak.datagenerator.randomAktør
import no.nav.familie.ba.sak.datagenerator.tilfeldigPerson
import no.nav.familie.ba.sak.kjerne.beregning.BeregningService
import no.nav.familie.ba.sak.kjerne.beregning.domene.YtelseType
Expand Down Expand Up @@ -228,6 +229,7 @@ class UtbetalingTidslinjeServiceTest {
val forventet =
mapOf(
person1.aktør to "TTTTT TTTTT".somBoolskTidslinje(mar(2020)).filtrerIkkeNull(),
randomAktør() to "TTTTT TTTTT".somBoolskTidslinje(mar(2020)),
person2.aktør to "TTTTTTTTTTTTTTTTT".somBoolskTidslinje(nov(2019)).filtrerIkkeNull(),
)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon

import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.feb
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.jan
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.tilCharTidslinje
import no.nav.familie.tidslinje.utvidelser.tilPerioder
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test

class EndreTid {
@Test
fun tilMåned() {
val tidslinje = "abcdef".tilCharTidslinje(29.jan(2000)) // Månedskille mellom c og d
val månedPerioder = tidslinje.tilMåned { it.filterNotNull().max() }.tilPerioder()

assertThat(månedPerioder.size).isEqualTo(2)

assertThat(månedPerioder[0].verdi).isEqualTo('c')
assertThat(månedPerioder[0].fom).isEqualTo(1.jan(2000))
assertThat(månedPerioder[0].tom).isEqualTo(31.jan(2000))

assertThat(månedPerioder[1].verdi).isEqualTo('f')
assertThat(månedPerioder[1].fom).isEqualTo(1.feb(2000))
assertThat(månedPerioder[1].tom).isEqualTo(29.feb(2000))
}

@Test
fun tilMånedFraMånedskifte() {
val tidslinje = "abcdef".tilCharTidslinje(29.jan(2000)) // Månedskille mellom c og d
val månedPerioder =
tidslinje
.tilMånedFraMånedsskifte { innholdSisteDagForrigeMåned, innholdFørsteDagDenneMåned ->
innholdSisteDagForrigeMåned ?: innholdFørsteDagDenneMåned
}.tilPerioder()

assertThat(månedPerioder.size).isEqualTo(2)

assertThat(månedPerioder[0].verdi).isEqualTo('a')
assertThat(månedPerioder[0].fom).isEqualTo(1.jan(2000))
assertThat(månedPerioder[0].tom).isEqualTo(31.jan(2000))

assertThat(månedPerioder[1].verdi).isEqualTo('c')
assertThat(månedPerioder[1].fom).isEqualTo(1.feb(2000))
assertThat(månedPerioder[1].tom).isEqualTo(29.feb(2000))
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
package no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon

import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.apr
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.feb
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.jan
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.jul
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.jun
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.mai
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.mar
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.somBoolskTidslinje
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.util.tilCharTidslinje
import no.nav.familie.tidslinje.Periode
import no.nav.familie.tidslinje.mapVerdi
import no.nav.familie.tidslinje.utvidelser.tilPerioder
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test

class FiltrerTidslinjeTest {
@Test
fun filtrerIkkeNull() {
val tidslinje = "aabbcc".tilCharTidslinje(feb(2000)).mapVerdi { if (it == 'b') null else it }
val opprinneligePerioder = tidslinje.tilPerioder()

assertThat(opprinneligePerioder[0]).isEqualTo(Periode('a', 1.feb(2000), 31.mar(2000)))
assertThat(opprinneligePerioder[1]).isEqualTo(Periode(null, 1.apr(2000), 31.mai(2000)))
assertThat(opprinneligePerioder[2]).isEqualTo(Periode('c', 1.jun(2000), 31.jul(2000)))

val filtrertePerioder = tidslinje.filtrerIkkeNull { it == 'a' }.tilPerioder()

assertThat(filtrertePerioder[0]).isEqualTo(Periode('a', 1.feb(2000), 31.mar(2000)))
assertThat(filtrertePerioder[1]).isEqualTo(Periode(null, 1.apr(2000), 31.jul(2000)))
}

@Test
fun filtrerMed() {
val tidslinje = "aaaaa".tilCharTidslinje(feb(2000))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@ fun Int.apr(år: Int) = LocalDate.of(år, 4, this)

fun Int.mair: Int) = LocalDate.of(år, 5, this)

fun Int.junr: Int) = LocalDate.of(år, 5, this)
fun Int.junr: Int) = LocalDate.of(år, 6, this)

fun Int.julr: Int) = LocalDate.of(år, 5, this)
fun Int.julr: Int) = LocalDate.of(år, 7, this)

fun Int.augr: Int) = LocalDate.of(år, 5, this)
fun Int.augr: Int) = LocalDate.of(år, 8, this)

fun Int.sepr: Int) = LocalDate.of(år, 5, this)
fun Int.sepr: Int) = LocalDate.of(år, 9, this)

fun Int.oktr: Int) = LocalDate.of(år, 5, this)
fun Int.oktr: Int) = LocalDate.of(år, 10, this)

fun Int.novr: Int) = LocalDate.of(år, 11, this)

Expand Down

0 comments on commit 4bd28a9

Please sign in to comment.