/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠTa iz o ĠK us uda ĠĊ Ġ* ĠĊ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* ĠĊ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* ĠĊ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ package Ġcom . ry uta 4 6 . nem kotlin . account Ċ Ċ import Ġcom . ry uta 4 6 . nem kotlin . util . Convert Utils Ċ import Ġorg . junit . After Ċ import Ġorg . junit . Assert . assertEquals Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . experimental . the ories . Data Points Ċ import Ġorg . junit . experimental . the ories . The ories Ċ import Ġorg . junit . experimental . the ories . Theory Ċ import Ġorg . junit . runner . RunWith Ċ Ċ @ RunWith ( The ories :: class ) Ċ class ĠHash Test Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Data Points Ġ@ Jvm Static Ġfun Ġget Sha 3 _ 2 5 6 Fixtures () Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh a 3 _ 2 5 6 Fixture (" 3 f 9 f 8 c 7 9 1 f 4 b 5 5 c 8 4 2 7 8 c 1 0 c 7 5 9 6 f 9 5 9 a 4 3 a 7 1 dc 3 5 8 8 8 d 1 6 e 3 d 2 6 a 3 3 4 5 6 b 6 df 2 ", Ġ" 4 0 0 b 2 df 5 8 3 6 3 6 fcf 5 7 0 0 1 b 9 6 8 1 2 c 7 9 9 9 6 9 e 5 1 3 5 8 c 0 e 1 9 2 0 1 5 f 4 8 a 1 2 5 1 fc 1 0 7 0 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh a 3 _ 2 5 6 Fixture (" 6 8 9 a 5 5 6 a 8 b 2 8 f 1 6 4 0 e 5 2 e 5 5 4 6 5 6 9 f 0 3 d 1 3 6 7 f 6 bf 6 6 ", Ġ" a 2 b 5 5 8 6 dda 6 5 af 7 3 d 9 3 a 2 edb 0 6 7 8 3 0 7 3 b 5 0 2 c 0 0 3 9 fa 0 1 7 1 7 3 e 6 9 7 4 b 6 4 2 5 6 7 4 9 3 ") ĊĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Data Points Ġ@ Jvm Static Ġfun Ġget Sha 3 _ 5 1 2 Fixtures () Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSh a 3 _ 5 1 2 Fixture (" 0 f 3 9 2 8 e 8 aa 5 7 f 5 3 b 0 e 7 7 c 4 1 2 be 6 6 5 4 7 b 2 b 1 ef 2 8 eff 5 8 e 8 4 0 3 c 1 2 0 2 5 d 5 0 c 6 6 2 0 9 ", Ġ" ce 3 6 c 5 c 2 f 5 5 8 9 0 4 e 8 9 7 5 5 a 9 8 9 e 9 2 f 9 f 4 9 8 4 1 ca 7 0 5 c 8 a 6 b 1 4 ee 8 1 8 e 8 2 f 4 6 8 9 4 5 b 9 7 a 5 4 8 ca 1 7 0 6 f 7 4 9 9 6 e 8 f 9 e 3 f 5 a 0 8 df 5 fd 8 6 d 3 4 6 1 6 9 b 8 0 2 b 3 ea 0 1 e 4 7 cb 1 a 4 a 0 0 ") ĊĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Data Points Ġ@ Jvm Static Ġfun Ġget R ipe md _ 1 6 0 Fixtures () Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR ipe md _ 1 6 0 Fixture (" 4 0 0 b 2 df 5 8 3 6 3 6 fcf 5 7 0 0 1 b 9 6 8 1 2 c 7 9 9 9 6 9 e 5 1 3 5 8 c 0 e 1 9 2 0 1 5 f 4 8 a 1 2 5 1 fc 1 0 7 0 4 ", Ġ" 9 a 5 5 6 a 8 b 2 8 f 1 6 4 0 e 5 2 e 5 5 4 6 5 6 9 f 0 3 d 1 3 6 7 f 6 bf 6 6 ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠSh a 3 _ 2 5 6 Fixture ( val Ġmessage : ĠString , Ġval Ġexpected : ĠString ) ĊĠĠĠ Ġdata Ġclass ĠSh a 3 _ 5 1 2 Fixture ( val Ġmessage : ĠString , Ġval Ġexpected : ĠString ) ĊĠĠĠ Ġdata Ġclass ĠR ipe md _ 1 6 0 Fixture ( val Ġmessage : ĠString , Ġval Ġexpected : ĠString ) ĊĊĠĠĠ Ġ@ Before Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠHash . initialize () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ After Ġfun ĠtearDown () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Hash . finalize () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Theory Ġfun Ġsha 3 _ 2 5 6 ( fixture : ĠSh a 3 _ 2 5 6 Fixture ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠConvert Utils . to HexString ( Hash . sha 3 _ 2 5 6 ( Convert Utils . toByteArray ( fixture . message ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( fixture . expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Theory Ġfun Ġsha 3 _ 5 1 2 ( fixture : ĠSh a 3 _ 5 1 2 Fixture ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠConvert Utils . to HexString ( Hash . sha 3 _ 5 1 2 ( Convert Utils . toByteArray ( fixture . message ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( fixture . expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Theory Ġfun Ġri pe md 1 6 0 ( fixture : ĠR ipe md _ 1 6 0 Fixture ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠConvert Utils . to HexString ( Hash . ri pe md 1 6 0 ( Convert Utils . toByteArray ( fixture . message ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( fixture . expected , Ġactual ) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ