/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 2 1 ĠThe ĠBoard Game Work ĠAuthors Ċ Ġ* ĠĠĠ ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġutil . bid irectional map Ċ Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠRemove Test Ġ: ĠBid irectional Map TestBase () Ġ{ Ċ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġof Ġexisting Ġrelation ") Ċ ĉ fun Ġtest Remove Existing Relation () Ġ{ Ċĉ ĉ assertTrue ( map . remove ( 0 , Ġ 1 )) Ċĉ ĉ assertFalse ( map . contains ( 0 , Ġ 1 )) Ċĉ ĉ assertEquals ( 1 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġof Ġrelation Ġwith Ġexisting Ġkey Ġand Ġnon - existing Ġvalue ") Ċ ĉ fun Ġtest Remove Relation Existing Key () Ġ{ Ċĉ ĉ assertFalse ( map . remove ( 0 , Ġ 5 )) Ċĉ ĉ assertTrue ( map . contains ( 0 , Ġ 1 )) Ċĉ ĉ assertEquals ( 2 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġof Ġrelation Ġwith Ġnon - existing Ġkey Ġand Ġexisting Ġvalue ") Ċ ĉ fun Ġtest Remove Relation Existing Value () Ġ{ Ċĉ ĉ assertFalse ( map . remove ( 5 , Ġ 1 )) Ċĉ ĉ assertTrue ( map . contains ( 0 , Ġ 1 )) Ċĉ ĉ assertEquals ( 2 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġforward Ġon Ġexisting Ġkey ") Ċ ĉ fun Ġtest Remove Forward Existing () Ġ{ Ċĉ ĉ assertTrue ( map . remove Forward ( 0 )) Ċĉ ĉ assertFalse ( map . contains ( 0 , Ġ 1 )) Ċĉ ĉ assertEquals ( 1 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġforward Ġon Ġnon - existing Ġkey ") Ċ ĉ fun Ġtest Remove Forward Non Existing () Ġ{ Ċĉ ĉ assertFalse ( map . remove Forward ( 5 )) Ċĉ ĉ assertEquals ( 2 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġbackward Ġon Ġexisting Ġvalue ") Ċ ĉ fun Ġtest Remove Backward Existing () Ġ{ Ċĉ ĉ assertTrue ( map . remove Backward ( 1 )) Ċĉ ĉ assertFalse ( map . contains ( 0 , Ġ 1 )) Ċĉ ĉ assertEquals ( 1 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġremove Ġbackward Ġon Ġnon - existing Ġvalue ") Ċ ĉ fun Ġtest Remove Backward Non Existing () Ġ{ Ċĉ ĉ assertFalse ( map . remove Backward ( 5 )) Ċĉ ĉ assertEquals ( 2 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test Ġclear ") Ċ ĉ fun Ġtest Clear () Ġ{ Ċĉ ĉ map . clear () Ċĉ ĉ assertEquals ( 0 , Ġmap . size ) Ċ ĉ } ĊĉĊ ĉ @ Test Ċ ĉ @ DisplayName (" Test ĠisEmpty Ġand Ġis NotEmpty ") Ċ ĉ fun Ġtest IsEmpty () Ġ{ Ċĉ ĉ assertFalse ( map . isEmpty ()) Ċĉ ĉ assertTrue ( map . isNotEmpty ()) ĊĉĉĊĉ ĉ map . clear () ĊĉĉĊĉ ĉ assertTrue ( map . isEmpty ()) Ċĉ ĉ assertFalse ( map . isNotEmpty ()) Ċ ĉ } Ċ }