package Ġbr . com . z up academy . ray ll and erson . pix . validators Ċ Ċ import Ġbr . com . z up academy . ray ll and erson . KeyType Ċ import Ġbr . com . z up academy . ray ll and erson . KeyType .* Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ /** Ċ Ġ* ĠVer ifica Ġse Ġa Ġch ave ĠP ix ĠestÃ¡ Ġem Ġum Ġformato ĠvÃ¡l ido Ġde Ġac ord o Ġcom Ġo Ġseu Ġtipo . Ċ Ġ* Ġ@ throws ĠIllegalArgumentException ĠCas o Ġa Ġch ave ĠnÃ£o Ġeste ja Ġem Ġum Ġformato ĠvÃ¡l ido Ċ Ġ*/ Ċ fun ĠassertThat Key Is Formatted ( key : ĠString , Ġkey Type : ĠKey Type ) Ġ{ ĊĠĠĠ Ġwhen Ġ( key Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠC PF Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Not Valid C pf Ġ= Ġ! C pf Validator ()( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isNot Valid C pf ) Ġthrow ĠIllegalArgumentException (" C pf Ġdeve Ġestar Ġbem Ġformat ado . ĠPor Ġexemplo : Ġ 1 2 3 4 5 6 7 8 9 0 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠE MAIL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Not Valid Email Ġ= Ġ! Email Validator ()( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isNot Valid Email ) Ġthrow ĠIllegalArgumentException (" Email Ġdeve Ġestar Ġbem Ġformat ado .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠPH ONE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Not Valid Phone Ġ= Ġ! Phone Validator ()( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isNot Valid Phone ) Ġthrow ĠIllegalArgumentException (" Tele fone Ġdeve Ġestar Ġbem Ġformat ado . ĠPor Ġexemplo : Ġ+ 5 5 8 5 9 8 8 7 1 4 0 7 7 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ param Ġkey Type Ġpara Ġver ificar Ġse Ġo Ġtipo Ġda Ġch ave ĠnÃ£o ĠÃ© Ġrandom , Ġque Ġn esse Ġcaso , Ġpode Ġser Ġn ula Ċ Ġ* Ġ@ throws ĠIllegalArgumentException ĠCas o Ġa Ġch ave Ġseja Ġblank Ġou Ġnull Ċ Ġ*/ Ċ fun ĠassertThat Key IsNotNull ( key : ĠString ?, Ġkey Type : ĠKey Type ) Ġ{ ĊĠĠĠ Ġval Ġis Not Random Type Ġ= Ġkey Type Ġ!= ĠR AN DOM ĊĠĠĠ Ġif Ġ( key . isNull Or Blank () Ġ&& Ġis Not Random Type ) Ġthrow ĠIllegalArgumentException (" Ch ave Ġpix ĠnÃ£o Ġpode Ġser Ġn ula Ġou Ġv az ia ") Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ throws ĠIllegalArgumentException ĠCas o Ġa Ġch ave Ġseja Ġmai or Ġque Ġ 7 7 Ċ Ġ*/ Ċ fun Ġcheck If Key Is GreaterThan 7 7 ( key : ĠString ) Ġ{ ĊĠĠĠ Ġif Ġ( key . trim (). length Ġ> Ġ 7 7 ) Ġthrow ĠIllegalArgumentException (" Ch ave Ġpix Ġprec isa Ġser Ġmen or Ġou Ġig ual Ġa Ġ 7 7 ") Ċ } Ċ Ċ /** Ċ Ġ* Ġ@ throws ĠIllegalArgumentException ĠCas o Ġo Ġtipo Ġda Ġch ave Ġseja ĠR AN DOM Ġe Ġh Ã¡ Ġvalor Ġpre ench ido Ġna Ġkey Ċ Ġ*/ Ċ fun Ġcheck If Key HasValue If Is Random ( key : ĠString , Ġkey Type : ĠKey Type ) Ġ{ ĊĠĠĠ Ġval Ġis Random Type Ġ= Ġkey Type Ġ== ĠR AN DOM ĊĠĠĠ Ġif Ġ( key . isNotEmpty () Ġ&& Ġis Random Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Valor Ġda Ġch ave ĠnÃ£o Ġdeve Ġser Ġpre ench ido Ġquando Ġo Ġtipo Ġda Ġch ave ĠÃ© Ġ$ RANDOM ") ĊĠĠĠ Ġ} Ċ }