package Ġcom . chr is wk . a oc . ad vent 2 0 2 0 Ċ Ċ import Ġcom . chr is wk . a oc . ad vent . Slow Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . params . Parameterized Test Ċ import Ġorg . junit . jupiter . params . provider . Arguments Ċ import Ġorg . junit . jupiter . params . provider . Method Source Ċ import Ġjava . util . stream . Stream Ċ Ċ class ĠDay 1 5 Test Ġ{ ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Method Source (" test Sequence Part 1 ") ĊĠĠĠ Ġfun Ġgenerates Correct Sequence ( nth : ĠInt , Ġexpected : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠDay 1 5 () ĊĠĠĠĠĠĠĠ ĠassertThat ( day . find N th Number (" 0 , 3 , 6 ", Ġnth )). isEqualTo ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġexpect 3 As 5 th Number () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠDay 1 5 () ĊĠĠĠĠĠĠĠ ĠassertThat ( day . find N th Number (" 0 , 3 , 6 ", Ġ 5 )). isEqualTo ( 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Parameterized Test ĊĠĠĠ Ġ@ Method Source (" starting Numbers 2 0 2 0 th Number ") ĊĠĠĠ Ġfun Ġexpect 2 0 2 0 th Number ( starting Numbers : ĠString , Ġexpected : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġday Ġ= ĠDay 1 5 () ĊĠĠĠĠĠĠĠ ĠassertThat ( day . find N th Number ( starting Numbers , Ġ 2 0 2 0 )). isEqualTo ( expected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 1 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Day 1 5 (). part 1 ()). isEqualTo ( 8 5 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Slow ( 6 0 0 0 ) ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpart 2 () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( Day 1 5 (). part 2 ()). isEqualTo ( 6 0 0 7 6 6 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġtest Sequence Part 1 (): ĠStream < Arguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 4 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 5 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 6 , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 7 , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 8 , Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 9 , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of ( 1 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġstarting Numbers 2 0 2 0 th Number (): ĠStream < Arguments > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠStream . of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 1 , 3 , 2 ", Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 2 , 1 , 3 ", Ġ 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 1 , 2 , 3 ", Ġ 2 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 2 , 3 , 1 ", Ġ 7 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 3 , 2 , 1 ", Ġ 4 3 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠArguments . of (" 3 , 1 , 2 ", Ġ 1 8 3 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }