/* Ċ Ġ* Ġ@ (# ) ĠFormat Validator Test . kt Ċ Ġ* Ċ Ġ* Ġjson - kotlin - schema ĠKotlin Ġimplementation Ġof ĠJSON ĠSchema Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠPeter ĠWall Ċ Ġ* Ċ Ġ* Ġ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 Ġnet . p wall . json . schema . validation Ċ Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . expect Ċ Ċ import Ġnet . p wall . json . JSON Boolean Ċ import Ġnet . p wall . json . JSON Decimal Ċ import Ġnet . p wall . json . JSON Double Ċ import Ġnet . p wall . json . JSON Float Ċ import Ġnet . p wall . json . JSON Integer Ċ import Ġnet . p wall . json . JSON Long Ċ import Ġnet . p wall . json . JSONObject Ċ import Ġnet . p wall . json . JSON String Ċ import Ġnet . p wall . json . JSON Zero Ċ Ċ class ĠFormat Validator Test Ġ{ ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` should Ġvalidate Ġint 6 4 Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON String (" test ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Integer ( 1 2 3 4 5 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Long ( 1 2 3 4 5 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Boolean . TRUE ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSONObject ()) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Zero . ZERO ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 . 0 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 . 5 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Double ( 1 2 3 4 5 . 0 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Double ( 1 2 3 4 5 . 5 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Double ( 1 2 3 4 5 e 2 7 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Float ( 1 2 3 4 5 . 0 0 F )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Float ( 1 2 3 4 5 . 5 0 F )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 6 4 Format Checker . check ( JSON Float ( 1 2 3 4 5 e 2 7 F )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` should Ġvalidate Ġint 3 2 Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON String (" test ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Integer ( 1 2 3 4 5 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Long ( 1 2 3 4 5 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Long ( 1 2 3 4 5 6 7 8 9 1 2 3 4 5 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Boolean . TRUE ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSONObject ()) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Zero . ZERO ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 . 0 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 . 5 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Decimal (" 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Double ( 1 2 3 4 5 . 0 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Double ( 1 2 3 4 5 . 5 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Double ( 1 2 3 4 5 e 2 7 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Float ( 1 2 3 4 5 . 0 0 F )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Float ( 1 2 3 4 5 . 5 0 F )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . Int 3 2 Format Checker . check ( JSON Float ( 1 2 3 4 5 e 2 7 F )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` should Ġvalidate Ġdate - time Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 T 2 2 : 2 9 : 5 4 + 1 1 : 0 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 t 2 2 : 2 9 : 5 4 . 1 2 3 + 1 1 : 0 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 T 1 1 : 2 9 : 5 4 Z ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 T 1 1 : 2 9 : 5 4 z ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String ("")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON String (" wrong ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON Integer ( 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON Long (- 1 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON Zero . ZERO ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSON Boolean . TRUE ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateTime Format Checker . check ( JSONObject ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` should Ġvalidate Ġdate Ġcorrectly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON String (" 2 0 2 1 - 0 1 - 2 3 T 2 2 : 2 9 : 5 4 + 1 1 : 0 0 ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON String ("")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( false ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON String (" wrong ")) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON Integer ( 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON Long (- 1 )) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON Zero . ZERO ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSON Boolean . TRUE ) Ġ} ĊĠĠĠĠĠĠĠ Ġexpect ( true ) Ġ{ ĠFormat Validator . DateFormat Checker . check ( JSONObject ()) Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ