/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠB ab ylon ĠPart ners ĠLimited Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . babylon . certificate tr ansparency . internal . utils Ċ Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Assert . assert Throws Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠR fc 3 3 3 9 Test Ġ{ ĊĠĠĠ Ġ@ Parameterized . Parameter ( 0 ) ĊĠĠĠ Ġlateinit Ġvar Ġinput : ĠString ĊĊĠĠĠ Ġ@ Parameterized . Parameter ( 1 ) ĊĠĠĠ Ġlateinit Ġvar Ġexpected : ĠString ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( expected Ġ== Ġ" fail ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( Number FormatException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . to R fc 3 3 3 9 Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected . to Long (), Ġinput . to R fc 3 3 3 9 Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Parameterized . Parameters ( name Ġ= Ġ"{ 0 } Ġ-> Ġ{ 1 }") ĊĠĠĠĠĠĠĠ Ġfun Ġdata () Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsuccess Ġcases ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 8 - 0 4 - 1 6 T 1 0 : 0 4 : 5 5 Z ", Ġ" 1 5 2 3 8 7 3 0 9 5 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 1 2 : 1 0 : 4 4 . 0 0 0 - 0 8 : 0 0 ", Ġ" 1 3 5 2 2 3 2 6 4 4 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 1 6 : 1 0 : 4 4 . 0 0 0 - 0 4 : 0 0 ", Ġ" 1 3 5 2 2 3 2 6 4 4 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 1 7 : 1 0 : 4 4 . 0 0 0 - 0 3 : 0 0 ", Ġ" 1 3 5 2 2 3 2 6 4 4 0 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 2 0 : 1 0 : 4 4 . 0 0 1 Z ", Ġ" 1 3 5 2 2 3 2 6 4 4 0 0 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 2 0 : 1 0 : 4 4 . 0 1 Z ", Ġ" 1 3 5 2 2 3 2 6 4 4 0 1 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 T 2 0 : 1 0 : 4 4 . 1 Z ", Ġ" 1 3 5 2 2 3 2 6 4 4 1 0 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 2 - 1 1 - 0 6 ", Ġ" 1 3 5 2 1 6 0 0 0 0 0 0 0 "), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfailure Ġcases ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" abc ", Ġ" fail "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 3 - 0 1 - 0 1 Ġ 0 9 : 0 0 : 0 2 ", Ġ" fail "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmissing Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 3 - 0 1 - 0 1 T ", Ġ" fail "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġinvalid Ġmonth ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 1 9 3 7 -- 3 - 5 5 T 1 2 : 0 0 : 2 7 + 0 0 : 2 0 ", Ġ" fail "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcan 't Ġhave Ġtime Ġzone Ġshift Ġwithout Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" 2 0 1 3 - 0 1 - 0 1 Z ", Ġ" fail ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ