package Ġcom . nh ong Ċ Ċ import Ġorg . junit . jupiter . api .* Ċ Ċ class ĠSh uff ler Test Ġ{ ĊĠĠĠ Ġclass ĠElement : ĠSh uff ler . Sh uff ler able { ĊĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġvar Ġprovider Ġ= Ġ" um br acity " ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Base Property (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprovider ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġid ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Sh uff ler () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Element >() ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġcategories Ġ= Ġmap Of (" hi " Ġto Ġ 2 5 , Ġ" cam " Ġto Ġ 1 0 , Ġ" um " Ġto Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġcategories Ġ= Ġmap Of (" um br acity " Ġto Ġ 4 , Ġ" test " Ġto Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( cat Ġin Ġcategories ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= Ġcat . key ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquantity Ġ= Ġcat . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġquantity ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelement Ġ= ĠElement () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . id Ġ= Ġ"$ category -$ i " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement . provider Ġ= Ġcategory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( element ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprintln ( list ) ĊĠĠĠĠĠĠĠ ĠSh uff ler . shuffle ( list ) ĊĠĠĠĠĠĠĠ Ġprintln ( list ) ĊĠĠĠ Ġ} Ċ } Ċ