package Ġcom . hy pto . iam . server . utils Ċ Ċ import Ġorg . junit . jupiter . api . Assertions Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠU L ID Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠU L ID Ġgeneration Ġ- ĠFormat `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠU L ID () ĊĠĠĠĠĠĠĠ Ġval Ġul id String Ġ= Ġsubject . next UL ID () ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertNotNull ( ul id String ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertNot Equals ( ul id String , Ġsubject . next UL ID ()) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ul id String . uppercase (), Ġul id String ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ul id String . length , Ġ 2 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠU L ID Ġgeneration Ġ- ĠRandom ness `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠU L ID () ĊĠĠĠĠĠĠĠ Ġval Ġul id String 1 Ġ= Ġsubject . next UL ID () ĊĠĠĠĠĠĠĠ Ġval Ġul id String 2 Ġ= Ġsubject . next UL ID () ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertNot Equals ( ul id String 1 , Ġul id String 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠU L ID Ġ- ĠMon otonic ity `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠU L ID () ĊĠĠĠĠĠĠĠ Ġval Ġtimestamp Ġ= ĠSystem . currentTimeMillis () ĊĊĠĠĠĠĠĠĠ Ġval Ġul id String 1 Ġ= Ġsubject . next UL ID ( timestamp ) ĊĠĠĠĠĠĠĠ Ġval Ġul id Value 1 Ġ= ĠU L ID . parse UL ID ( ul id String 1 ) ĊĠĠĠĠĠĠĠ Ġval Ġul id Value 2 Ġ= Ġsubject . next Mon otonic Value ( ul id Value 1 , Ġtimestamp ) ĊĠĠĠĠĠĠĠ Ġval Ġul id String 2 Ġ= Ġul id Value 2 . toString () ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertNot Equals ( ul id String 1 , Ġul id String 2 ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ul id String 1 , Ġul id Value 1 . toString ()) ĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( ul id String 2 , Ġul id Value 2 . toString ()) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertFalse ( ul id Value 1 . equals ( ul id Value 2 )) ĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( ul id Value 1 Ġ< Ġul id Value 2 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġul id Value 3 Ġ= Ġul id Value 2 . increment () ĊĠĠĠĠĠĠĠ ĠAssertions . assertTrue ( ul id Value 2 Ġ< Ġul id Value 3 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġul id Value 4 Ġ= Ġsubject . next Value ( timestamp ) ĊĠĠĠĠĠĠĠ ĠAssertions . assertNot Equals ( ul id Value 1 , Ġul id Value 4 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Test ĠU L ID Ġparsing `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= ĠU L ID () ĊĠĠĠĠĠĠĠ Ġval Ġtimestamp Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠ Ġval Ġul id String Ġ= Ġsubject . next UL ID ( timestamp ) ĊĊĠĠĠĠĠĠĠ Ġval Ġparsed Ul id Ġ= ĠU L ID . parse UL ID ( ul id String ) ĊĊĠĠĠĠĠĠĠ ĠAssertions . assertEquals ( timestamp , Ġparsed Ul id . timestamp ()) ĊĠĠĠ Ġ} Ċ } Ċ