package Ġeu . h uber isation . mon car net covid Ċ Ċ import Ġeu . h uber isation . mon car net covid . entities . C ertific at Europe en Ċ import Ġeu . h uber isation . mon car net covid . entities . C ertific at Factory Ċ import Ġeu . h uber isation . mon car net covid . entities . Det ente ur Ċ import Ġeu . h uber isation . mon car net covid . entities . Type C ertific at Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . Assert .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* ĊĊ Ċ class ĠC ertific at Factory Test Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ TEST _ EU Ġ= Ġ" HC 1 : N CF 4 $ 8 P 8 Q PO 0 DO 3 8 GU WT J 0 8 OH Ġ 1 6 Q KB 7 V Z UM : 5 PW WP -. CP X MQ H 6 U : R UC 7 Z CV ./ EC + Q DF BI 4 IB . 2 1 LE E . K - S 3 C - 3 4 5 5 8 C 2 / 2 4 HT 3 0 IS 8 4 5 9 GE ĠME 0 OP X TER \$ R 6 X 4 0 H 0 D 0 2 Ġ 0 EK * M $- N : MD AG 3 XI 7 9 HG K OU HW FX 9 S . 0 G JJ EG MQ F + KL + E AL AP + 2 $/ 0 QQ OR B 0 1 MI * + I Ġ: IT CJ * 4 6 Z + M / KB \$ PE 5 7 1 / U 6 ID WV DV NQ CQ 0 0 Y SK 9 O 2 F 2 LM W 6 V RC . O 9 RC 1 8 * BU 0 HE GD * LA EZ KM 7 BQ 6 6 L J EX SO $\ $ GF Y OD QO / 7 5 8 : F 2 TP : JJ 8 ZM NV 8 0 8 3 % * 9 2 DH MR 5 L ML 5 . QL . 9 \$ GR : V JC 0 0 0 SS V DW O FI I Ġ 3 + * Q 7 S 9 RY DQ PV . K UB CB FE 1 K 4 3 QH 3 % 6 0 VG 5 Q 4 BZ 0 0 LT 2 R 5 3 PN 9 L 3 J 5 E 4 XD 9 \$ UO 6 A 2 U ET TE PO OR 8 B 7 SIS Y F 9 U GBP 3 5 1 8 E - HD 9 4 M 0 0 L 3 AS / 9 8 + F 0 . FF PG 0 % L J AP 8 7 O 1 R XR * FF VQ MN IN 0 IU 1 . A % UN \$ UB HK T J AD M % BR : MP MC \$ HN 5 . F CR 0 7 1 QH 1 RI 1 GF Q CI XG / 0 SI R SV UE 5 1 J : K JR + VE W LO 0 MC 9 MG + BM 2 G MY 0 2 0 H " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ TEST _ EU _ DATE _ PRE LE VE MENT Ġ= Ġ" 2 0 2 1 - 0 5 - 1 6 T 1 4 : 3 4 : 5 6 Z " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ V ACC IN _ EU Ġ= Ġ" HC 1 : N CF 5 7 0 . 9 0 T 9 W TW G VL KG 9 9 .+ VK V 9 NT 3 RH 1 X * 4 % AB 3 XK 4 F 3 6 : G \$ MB 2 F 3 F * K + UR 3 J CY H AY 5 0 . FK 6 ZK 7 : ED OL FV CP D 0 B \$ D % ĠD 3 IA 4 W 5 6 4 6 9 4 6 % 9 6 X 4 7 6 K CN 9 E % 9 6 1 A 6 9 L 6 Q W 6 B 4 6 XJ CC W EN F 6 OF 6 3 W 5 Y 9 6 B 4 6 WJ CT 3 E 2 + 8 W JC 0 FD 4 : 4 7 3 DS DD F + ANG 7 ZH AF M 8 9 A 6 A 1 A 7 1 B / M 8 RY 9 7 1 BS 1 BAC 9 $ + AD B 8 Z CAM % 6 // 6 . J CP 9 E JY 8 L / 5 M / 5 5 4 6 . 9 6 D 4 6 % J CI QE 1 C 9 3 KC . SC 4 K CD 3 DX 4 7 B 4 6 IL 6 6 4 6 I * 6 .. DX % DL PC G / DZ - CF ZA 7 1 A 1 T 8 W . CZ - C 4 % E - 3 E 4 V CI 3 D 7 W EM Y 9 5 I AW Y 8 I 3 DD ĠC GE CQ ED \$ PC 5 \$ CU Z CY $ 5 Y $ 5 JP CT 3 E 5 J DL A 7 KF 6 D 4 6 3 W 5 WA 6 % 7 8 % VI K QS * 9 OE . U 3 7 WG J G . 1 J 5 PF 9 WO ASF U 3 UI 6 9 PK J EH 2 F : SY 2 SC YK FO MV GP ĠO L GW 3 1 . J 5 OV SA FB G ON 1 9 H + HC SI A 7 P : 6 5 P 0 F - QR / GS : 2 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ V ACC IN _ EU _ DATE _ IN JECTION Ġ= Ġ" 2 0 2 1 - 0 1 - 0 5 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ V ACC IN _ EU _ PRO DU IT Ġ= Ġ" CO VID - 1 9 ĠV accine ĠMod erna Ġ| ĠMod erna ĠBi ote ch ĠSp ain ĠS . L ." ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ V ACC IN _ EU _ NB _ DO SES Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ V ACC IN _ EU _ NB _ DO SES _ TOTAL Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ RET AB L IS SE MENT _ EU Ġ= Ġ" HC 1 : NC FO XN % TS 3 DH A ĠSA 6 K 8 5 K FI 6 0 INA . QX V 8 . 9 BX G 4 O ĠQ L + 4 M * 4 5 D ML CD K QC + P BC V 4 * X UA 2 P - F HT - H 4 SI / J 9 WV HP Y H + ZE / T 9 3 W 1 \$ NIC Z UB OM * L PU Y 2 JD 5 * L PI - AA : GA . DL / AG 0 MX 1 O 2 0 CO KI Ġ- 8 H 5 SR + 3 7 7 SN J G 4 + 2 F NS + D GT / A +- CZ JJ V CB 0 GH 3 NV 9 FH 3 NV C * IU Z 4 + F JE Ġ 4 Y 3 LL / II Ġ 0 SC 9 BX 8 QR KL H KV 8 L 4 D 4 : PI / E 2 $ 4 J 6 AL D - IH K NT * 0 1 \$ VL S 4 J 1 TX K NA + 2 ĠCT NS 4 K CT O % K 4 F 7 M HF % * 4 ĠCT 3 SV I $ 2 9 0 LV 7 J $ % 2 5 I 3 HC 3 1 8 3 5 AL 5 : 4 A 9 3 TL J 4 LT . E JK D 3 L * 8 6 + UZ 1 J ON 2 X HJ MM Q SQ C 0 ĠF FA WB 8 OV : USD 6 PB FE V 8 YY U 3 JR * 2 T 6 L 6 4 S 7 N / U : 4 3 BR 0 QO J 5 8 G 8 NK : SA O DRM TE 3 C 8 - 3 NG MU 8 * 2 AN 2 Q 1 Q + F VG 5 0 G 4 F 9 4 " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCERT _ RET AB L IS SE MENT _ EU _ DATE _ VALID ITE Ġ= Ġ" 2 0 2 1 - 0 5 - 0 2 " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCERT _ EU _ DET ENT EUR Ġ= ĠDet ente ur (" Mar ie ĠD up ond ", Ġ" 1 9 6 2 - 0 7 - 0 1 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Type C ertific at Test Eu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ TEST _ EU ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Type C ertific at . TEST , Ġcertific at . type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Type C ertific at V acc ination Eu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ V ACC IN _ EU ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Type C ertific at . V ACC INATION , Ġcertific at . type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Type C ertific at Ret abl isse ment Eu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ RET AB L IS SE MENT _ EU ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( Type C ertific at . RET AB L IS SE MENT , Ġcertific at . type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Det ente ur C ertific at Test Eu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ TEST _ EU ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( CERT _ EU _ DET ENT EUR , Ġcertific at . det ente ur ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Det ente ur C ertific at Ret abl isse ment Eu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ RET AB L IS SE MENT _ EU ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( CERT _ EU _ DET ENT EUR , Ġcertific at . det ente ur ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Date Pre lev ement () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ TEST _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġcertific at . date E mission ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ TEST _ EU _ DATE _ PRE LE VE MENT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate ?. let Ġ{ ĠSimpleDateFormat (" yyyy - MM - dd ' T ' HH : mm : ss ' Z ' "). format ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġidentifier Date Injection () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ V ACC IN _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġcertific at . date E mission ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ V ACC IN _ EU _ DATE _ IN JECTION , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate ?. let Ġ{ ĠSimpleDateFormat (" yyyy - MM - dd ", ĠLocale . F RAN CE ). format ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġidentifier Date Ret abl isse ment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ RET AB L IS SE MENT _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġdate Ġ= Ġcertific at . date E mission ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ RET AB L IS SE MENT _ EU _ DATE _ VALID ITE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate ?. let Ġ{ ĠSimpleDateFormat (" yyyy - MM - dd ", ĠLocale . F RAN CE ). format ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Pro duit V acc in () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ V ACC IN _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġpro duit Ġ= Ġ( c ertific at Ġas ĠC ertific at Europe en ). v acc in Admin ist re ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ RET AB L IS SE MENT _ EU _ DATE _ VALID ITE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ V ACC IN _ EU _ PRO DU IT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro duit ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Nb Do ses () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ V ACC IN _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġnb Do ses Ġ= Ġ( c ertific at Ġas ĠC ertific at Europe en ). nb Do ses ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ RET AB L IS SE MENT _ EU _ DATE _ VALID ITE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ V ACC IN _ EU _ NB _ DO SES , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnb Do ses ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġident ifi e Nb Do ses Total () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcertific at Ġ= ĠC ertific at Factory . cre er C ertific at De pu is Code ( CERT _ V ACC IN _ EU ) ĊĠĠĠĠĠĠĠ Ġval Ġnb Do ses Total Ġ= Ġ( c ertific at Ġas ĠC ertific at Europe en ). nb Do ses Total ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ RET AB L IS SE MENT _ EU _ DATE _ VALID ITE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCERT _ V ACC IN _ EU _ NB _ DO SES _ TOTAL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnb Do ses Total ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }