package Ġcom . rar ible . protocol . nft . core . model Ċ Ċ import Ġcom . rar ible . ethereum . domain . Eth UInt 2 5 6 Ċ import Ġorg . assertj . core . api . Assertions . assertThat Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġscale ther . domain . Address Factory Ċ Ċ internal Ġclass ĠReduce Skip Tokens Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġskip Token 1 Ġ= ĠItem Id ( Address Factory . create (), ĠE th UInt 2 5 6 . ONE ) ĊĠĠĠ Ġprivate Ġval Ġskip Token 2 Ġ= ĠItem Id ( Address Factory . create (), ĠE th UInt 2 5 6 . TEN ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġnot Ġskip Ġfor Ġthe Ġfirst Ġtime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreduce Skip Tokens Ġ= ĠReduce Skip Tokens ( listOf ( skip Token 1 , Ġskip Token 2 )) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 1 . token , Ġskip Token 1 . tokenId )). isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 2 . token , Ġskip Token 2 . tokenId )). isTrue () ĊĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( Address Factory . create (), ĠE th UInt 2 5 6 . of (( 1 L .. 1 0 0 0 ). random ())) ). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġskip Ġfor Ġthe Ġsecond Ġand Ġmore Ġtime `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreduce Skip Tokens Ġ= ĠReduce Skip Tokens ( listOf ( skip Token 1 , Ġskip Token 2 )) ĊĊĠĠĠĠĠĠĠ Ġreduce Skip Tokens . allow Reduc ing ( skip Token 1 . token , Ġskip Token 1 . tokenId ) ĊĠĠĠĠĠĠĠ Ġreduce Skip Tokens . allow Reduc ing ( skip Token 2 . token , Ġskip Token 2 . tokenId ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 1 . token , Ġskip Token 1 . tokenId )). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 2 . token , Ġskip Token 2 . tokenId )). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( Address Factory . create (), ĠE th UInt 2 5 6 . of (( 1 L .. 1 0 0 0 ). random ())) ). isTrue () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` should Ġallow Ġafter Ġperiod `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreduce Skip Tokens Ġ= ĠReduce Skip Tokens ( listOf ( skip Token 1 , Ġskip Token 2 )) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ( Reduce Skip Tokens . ALLOW ING _ PERIOD Ġ- Ġ 1 ) .. ( Reduce Skip Tokens . ALLOW ING _ PERIOD Ġ* Ġ 1 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ/ ĠReduce Skip Tokens . ALLOW ING _ PERIOD Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 1 . token , Ġskip Token 1 . tokenId )). isTrue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 2 . token , Ġskip Token 2 . tokenId )). isTrue () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 1 . token , Ġskip Token 1 . tokenId )). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( reduce Skip Tokens . allow Reduc ing ( skip Token 2 . token , Ġskip Token 2 . tokenId )). isFalse () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }