@@ -53,9 +53,9 @@ void setUp() {
53
53
var first = segmenter .first ();
54
54
assertThat (first .getFom ()).isEqualTo (fom );
55
55
assertThat (first .getTom ()).isEqualTo (tom );
56
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
56
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
57
57
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
58
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
58
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
59
59
}
60
60
61
61
@@ -74,16 +74,16 @@ void setUp() {
74
74
var first = iterator .next ();
75
75
assertThat (first .getFom ()).isEqualTo (fom );
76
76
assertThat (first .getTom ()).isEqualTo (LocalDate .of (2024 , 4 , 30 ));
77
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
77
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
78
78
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
79
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
79
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
80
80
81
81
var second = iterator .next ();
82
82
assertThat (second .getFom ()).isEqualTo (LocalDate .of (2024 , 5 , 1 ));
83
83
assertThat (second .getTom ()).isEqualTo (tom );
84
- assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
84
+ assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
85
85
assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
86
- assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (" 636.04" );
86
+ assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 636.04 ) );
87
87
}
88
88
89
89
@ Test
@@ -103,106 +103,159 @@ void setUp() {
103
103
var førsteDagMedHøySats = LocalDate .of (2024 , 5 , 1 );
104
104
assertThat (first .getFom ()).isEqualTo (fom );
105
105
assertThat (first .getTom ()).isEqualTo (førsteDagMedHøySats .minusDays (1 ));
106
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
106
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
107
107
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
108
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
108
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
109
109
110
110
var second = iterator .next ();
111
111
assertThat (second .getFom ()).isEqualTo (førsteDagMedHøySats );
112
112
assertThat (second .getTom ()).isEqualTo (tom );
113
- assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
113
+ assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
114
114
assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
115
- assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (" 636.04" );
115
+ assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 636.04 ) );
116
116
117
117
}
118
118
119
119
@ Test
120
120
void skal_beregne_lav_og_høy_dagsats_for_en_perioder_med_start_i_mars_2024_og_slutt_i_mai_2024_og_bruker_blir_25_år_midt_i_april_når_det_beregnes_når_bruker_har_blitt_25_år () {
121
121
var fom = LocalDate .of (2024 , 3 , 1 );
122
122
var tom = LocalDate .of (2024 , 5 , 30 );
123
+ var datoForGRegulering = LocalDate .of (2024 , 5 , 1 );
123
124
var perioder = new LocalDateTimeline <>(fom , tom , Boolean .TRUE );
124
125
var tjuefemårsdag = LocalDate .of (2024 , 4 , 15 );
125
126
var fødselsdato = tjuefemårsdag .minusYears (25 );
126
127
var dagsatsTidslinje = tjeneste .beregnDagsats (null , perioder , fødselsdato , tjuefemårsdag .plusDays (1 ), false );
127
128
128
129
var segmenter = dagsatsTidslinje .resultatTidslinje ().toSegments ();
129
- assertThat (segmenter .size ()).isEqualTo (2 );
130
+ assertThat (segmenter .size ()).isEqualTo (3 );
130
131
131
132
var iterator = segmenter .iterator ();
132
133
var first = iterator .next ();
133
- var førsteDagMedHøySats = LocalDate . of ( 2024 , 5 , 1 ) ;
134
+ var førsteDagMedHøySats = tjuefemårsdag ;
134
135
assertThat (first .getFom ()).isEqualTo (fom );
135
136
assertThat (first .getTom ()).isEqualTo (førsteDagMedHøySats .minusDays (1 ));
136
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
137
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
137
138
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
138
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
139
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
139
140
140
141
var second = iterator .next ();
141
- assertThat (second .getFom ()).isEqualTo (førsteDagMedHøySats );
142
- assertThat (second .getTom ()).isEqualTo (tom );
142
+ assertThat (second .getFom ()).isEqualTo (tjuefemårsdag );
143
+ assertThat (second .getTom ()).isEqualTo (datoForGRegulering . minusDays ( 1 ) );
143
144
assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
144
- assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
145
- assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
145
+ assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
146
+ assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (912.46 ));
147
+
148
+ var third = iterator .next ();
149
+ assertThat (third .getFom ()).isEqualTo (datoForGRegulering );
150
+ assertThat (third .getTom ()).isEqualTo (tom );
151
+ assertThat (third .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
152
+ assertThat (third .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
153
+ assertThat (third .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
146
154
}
147
155
148
156
@ Test
149
157
void skal_beregne_lav_og_høy_dagsats_for_en_perioder_med_start_i_mars_2024_og_slutt_i_mai_2024_og_bruker_blir_25_år_midt_i_april_før_bruker_er_25_år_når_det_finnes_trigger_for_beregningen () {
150
158
var fom = LocalDate .of (2024 , 3 , 1 );
151
159
var tom = LocalDate .of (2024 , 5 , 30 );
160
+ var datoForGRegulering = LocalDate .of (2024 , 5 , 1 );
152
161
var perioder = new LocalDateTimeline <>(fom , tom , Boolean .TRUE );
153
162
var tjuefemårsdag = LocalDate .of (2024 , 4 , 15 );
154
163
var fødselsdato = tjuefemårsdag .minusYears (25 );
155
164
var dagsatsTidslinje = tjeneste .beregnDagsats (null , perioder , fødselsdato , tjuefemårsdag .minusDays (1 ), true );
156
165
157
166
var segmenter = dagsatsTidslinje .resultatTidslinje ().toSegments ();
158
- assertThat (segmenter .size ()).isEqualTo (2 );
167
+ assertThat (segmenter .size ()).isEqualTo (3 );
159
168
160
169
var iterator = segmenter .iterator ();
161
170
var first = iterator .next ();
162
- var førsteDagMedHøySats = LocalDate .of (2024 , 5 , 1 );
171
+ var førsteDagMedHøySats = LocalDate .of (2024 , 4 , 14 );
163
172
assertThat (first .getFom ()).isEqualTo (fom );
164
- assertThat (first .getTom ()).isEqualTo (førsteDagMedHøySats . minusDays ( 1 ) );
165
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
173
+ assertThat (first .getTom ()).isEqualTo (førsteDagMedHøySats );
174
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
166
175
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
167
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
176
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
168
177
169
178
var second = iterator .next ();
170
- assertThat (second .getFom ()).isEqualTo (førsteDagMedHøySats );
171
- assertThat (second .getTom ()).isEqualTo (tom );
179
+ assertThat (second .getFom ()).isEqualTo (førsteDagMedHøySats . plusDays ( 1 ) );
180
+ assertThat (second .getTom ()).isEqualTo (tom . minusMonths ( 1 ) );
172
181
assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
173
- assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
174
- assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
182
+ assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
183
+ assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (912.46 ));
184
+
185
+ // Etter G-regulering
186
+ var third = iterator .next ();
187
+ assertThat (third .getFom ()).isEqualTo (datoForGRegulering );
188
+ assertThat (third .getTom ()).isEqualTo (tom );
189
+ assertThat (third .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
190
+ assertThat (third .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
191
+ assertThat (third .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
175
192
}
176
193
177
194
178
195
@ Test
179
196
void skal_beregne_dagsats_for_en_periode_med_start_i_mars_2024_og_slutt_i_mai_2024_og_bruker_blir_25_år_første_april () {
180
197
var fom = LocalDate .of (2024 , 3 , 1 );
181
198
var tom = LocalDate .of (2024 , 5 , 30 );
199
+ var datoForGRegulering = LocalDate .of (2024 , 5 , 1 );
182
200
var perioder = new LocalDateTimeline <>(fom , tom , Boolean .TRUE );
183
201
var tjuefemårsdag = LocalDate .of (2024 , 4 , 1 );
184
202
var fødselsdato = tjuefemårsdag .minusYears (25 );
185
203
var dagsatsTidslinje = tjeneste .beregnDagsats (null , perioder , fødselsdato , LocalDate .now (), true );
186
204
205
+ var segmenter = dagsatsTidslinje .resultatTidslinje ().toSegments ();
206
+ assertThat (segmenter .size ()).isEqualTo (3 );
207
+
208
+ var iterator = segmenter .iterator ();
209
+ var first = iterator .next ();
210
+ assertThat (first .getFom ()).isEqualTo (fom );
211
+ var sisteDagMedLavSats = tjuefemårsdag .minusDays (1 );
212
+ assertThat (first .getTom ()).isEqualTo (sisteDagMedLavSats );
213
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (1.33333 ));
214
+ assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
215
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (608.31 ));
216
+
217
+ var second = iterator .next ();
218
+ assertThat (second .getFom ()).isEqualTo (tjuefemårsdag );
219
+ assertThat (second .getTom ()).isEqualTo (datoForGRegulering .minusDays (1 ));
220
+ assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
221
+ assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
222
+ assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (912.46 ));
223
+
224
+ var third = iterator .next ();
225
+ assertThat (third .getFom ()).isEqualTo (datoForGRegulering );
226
+ assertThat (third .getTom ()).isEqualTo (tom );
227
+ assertThat (third .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
228
+ assertThat (third .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
229
+ assertThat (third .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
230
+ }
231
+
232
+
233
+ @ Test
234
+ void skal_beregne_dagsats_for_en_periode_med_start_i_mars_2024_og_slutt_i_mai_2024_og_bruker_blir_25_år_på_dato_g_regulering () {
235
+ var fom = LocalDate .of (2024 , 3 , 1 );
236
+ var tom = LocalDate .of (2024 , 5 , 30 );
237
+ var perioder = new LocalDateTimeline <>(fom , tom , Boolean .TRUE );
238
+ var tjuefemårsdag = LocalDate .of (2024 , 5 , 1 );
239
+ var fødselsdato = tjuefemårsdag .minusYears (25 );
240
+ var dagsatsTidslinje = tjeneste .beregnDagsats (null , perioder , fødselsdato , LocalDate .now (), true );
241
+
187
242
var segmenter = dagsatsTidslinje .resultatTidslinje ().toSegments ();
188
243
assertThat (segmenter .size ()).isEqualTo (2 );
189
244
190
245
var iterator = segmenter .iterator ();
191
246
var first = iterator .next ();
192
247
assertThat (first .getFom ()).isEqualTo (fom );
193
- var sisteDagMedLavSats = tjuefemårsdag .with ( TemporalAdjusters . lastDayOfMonth () );
248
+ var sisteDagMedLavSats = tjuefemårsdag .minusDays ( 1 );
194
249
assertThat (first .getTom ()).isEqualTo (sisteDagMedLavSats );
195
- assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (" 1.33333" );
250
+ assertThat (first .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal . valueOf ( 1.33333 ) );
196
251
assertThat (first .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (118620 ));
197
- assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (" 608.31" );
252
+ assertThat (first .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal . valueOf ( 608.31 ) );
198
253
199
254
var second = iterator .next ();
200
- assertThat (second .getFom ()).isEqualTo (sisteDagMedLavSats . plusDays ( 1 ) );
255
+ assertThat (second .getFom ()).isEqualTo (tjuefemårsdag );
201
256
assertThat (second .getTom ()).isEqualTo (tom );
202
257
assertThat (second .getValue ().grunnbeløpFaktor ()).isEqualByComparingTo (BigDecimal .valueOf (2 ));
203
258
assertThat (second .getValue ().grunnbeløp ()).isEqualByComparingTo (BigDecimal .valueOf (124028 ));
204
259
assertThat (second .getValue ().dagsats ()).isEqualByComparingTo (BigDecimal .valueOf (954.06 ));
205
260
}
206
-
207
-
208
261
}
0 commit comments