package Ġru . jm or oz ov . pro dk al endar . service . command . impl Ċ Ċ import Ġorg . am sh ove . k lu ent . mock Ċ import Ġorg . am sh ove . k lu ent . should Equal Ċ import Ġorg . jetbrains . spe k . api . Spe k Ċ import Ġorg . jetbrains . spe k . api . dsl . given Ċ import Ġorg . jetbrains . spe k . api . dsl . it Ċ import Ġorg . jetbrains . spe k . api . dsl . on Ċ import Ġru . jm or oz ov . pro dk al endar . service . command . Command File Service Ċ import Ġru . jm or oz ov . pro dk al endar . service . command . Site Parsing Service Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . Month Ċ import Ġjava . util .* Ċ Ċ object ĠParsing ServiceImpl Spec : ĠSpe k Ġ({ ĊĠĠĠ Ġgiven (" Parsing Ġservice ") Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmock File Service Ġ= Ġmock ( Command File Service :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġmock Site Parsing Service Ġ= Ġmock ( Site Parsing Service :: class ) ĊĊĠĠĠĠĠĠĠ Ġon (" parse Ġcsv Ġfrom Ġdata . gov . ru ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠParsing ServiceImpl ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" mock Url ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" src / test / resources / files / csv / test . csv ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" src / test / resources / files / json / test . json ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Site Parsing Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock File Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct ive Calendar Ġ= Ġservice . parse G ov () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" h olidays Ġparse Ġcorrectly ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct ive Calendar . h olidays Ġshould Equal ĠTree Set ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . FE BR U ARY , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . FE BR U ARY , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . FE BR U ARY , Ġ 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . M ARCH , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . M ARCH , Ġ 5 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . AP R IL , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . MAY , Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J UNE , Ġ 1 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J UL Y , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J UL Y , Ġ 2 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . AU G UST , Ġ 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . AU G UST , Ġ 2 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . SEP TE MBER , Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . SEP TE MBER , Ġ 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . OCT OB ER , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . OCT OB ER , Ġ 1 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . NO VE MBER , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . NO VE MBER , Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . NO VE MBER , Ġ 2 8 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . DE CE MBER , Ġ 2 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit (" pre h olidays Ġparse Ġcorrectly ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct ive Calendar . pre h olidays Ġshould Equal ĠTree Set ( listOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J AN U ARY , Ġ 2 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . AP R IL , Ġ 3 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . MAY , Ġ 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . J UNE , Ġ 1 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . NO VE MBER , Ġ 3 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . DE CE MBER , Ġ 2 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDate . of ( 1 9 9 9 , ĠMonth . DE CE MBER , Ġ 3 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ })