package Ġhome work 4 Ċ Ċ import Ġorg . junit . jupiter . api . Assertions .* Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ internal Ġclass ĠAv l Tree Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtree Ġ= ĠAv l Tree < Int , ĠString >() ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġadd Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" Kotlin ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 2 , Ġ" C # ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( Pair ( 1 , Ġ" Kotlin "), ĠPair ( 2 , Ġ" C # ")), Ġtree . entries . map Ġ{ ĠPair ( it . key , Ġit . value ) Ġ}. toSet ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġremove () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" Kotlin ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 2 , Ġ" C # ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 0 , Ġ" F # ") ĊĠĠĠĠĠĠĠ Ġtree . remove ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( Pair ( 2 , Ġ" C # "), ĠPair ( 0 , Ġ" F # ")), Ġtree . entries . map Ġ{ ĠPair ( it . key , Ġit . value ) Ġ}. toSet ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcontains Key () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" First ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 2 , Ġ" Second ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( set Of ( true , Ġfalse ), Ġset Of ( tree . containsKey ( 1 ), Ġtree . containsKey ( 3 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcontains Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" First ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 2 , Ġ" Second ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġtree . contains Value (" First ")) ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġtree . contains Value (" Third ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠisEmpty () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġtree . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġis NotEmpty () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" Value ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( false , Ġtree . isEmpty ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Size () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" First ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 4 , Ġ" Second ") ĊĠĠĠĠĠĠĠ ĠassertEquals ( 2 , Ġtree . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 1 , Ġ" First ") ĊĠĠĠĠĠĠĠ Ġtree . add Value ( 4 , Ġ" Second ") ĊĠĠĠĠĠĠĠ Ġtree . clear () ĊĠĠĠĠĠĠĠ ĠassertEquals ( true , Ġtree . isEmpty ()) ĊĠĠĠ Ġ} Ċ } Ċ