package Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . checker Ċ Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . block . Block Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . Conditional Ports Connection Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . Standard Ports Connection Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . storage . Conditional Connection Key Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . storage . Port Connections Holder Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . connection . storage . Standard Connection Key Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . element . Port Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . holder . Port Accessibility Ċ import Ġio . github . sl up ik . sche m ab lock . java fx . element . fx . port . holder . Ports Holder Ċ import Ġorg . junit . jupiter . api . Before All Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . mockito . Mock Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . Mockito Annotations Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ /** Ċ Ġ* ĠAll Ġrights Ġreserved Ġ& Ġcopyright ĠÂ© Ċ Ġ*/ Ċ internal Ġclass ĠOwner Aware Availability Checker Test Ġ{ ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġval Ġholder : ĠPort s Holder Ġ= ĠMockito . mock ( Ports Holder :: class . java ) ĊĊĠĠĠ Ġ@ Mock ĊĠĠĠ Ġprivate Ġval Ġconn Holder : ĠPort Connections Holder Ġ= ĠMockito . mock ( Port Connections Holder :: class . java ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsut : ĠOwner Aware Availability Checker ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Before All ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMockito Annotations . init Mocks ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġfun Ġinit S ut () Ġ{ ĊĠĠĠĠĠĠĠ Ġsut Ġ= ĠOwner Aware Availability Checker ( holder , Ġconn Holder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġwithout Ġconflict `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 4 "), ĠPort Accessibility . TWO _ WAY ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġwith Ġexisting Ġconnection Ġwith Ġthe Ġsame Ġsource `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġexisting Target Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( existing Target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠPair ( Standard Connection Key ( source . element Id ), Ġexisting Target ) ĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġwith Ġexisting Ġconnection Ġfrom Ġthe Ġsame Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġexisting Source Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 2 ") ĊĠĠĠĠĠĠĠ Ġval Ġexisting Target Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( existing Source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( existing Target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠPair ( Standard Connection Key ( existing Source . element Id ), Ġexisting Target ) ĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġto Ġthe Ġsame Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 2 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġto Ġthe Ġsame Ġport `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġstart Ġto Ġstop `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" start ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" stop ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 1 . 2 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 2 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ TARGET ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġstop Ġto Ġstart `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" stop ", Ġ" port 2 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" start ", Ġ" port 1 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 1 . 2 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 2 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ TARGET ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġstart Ġto Ġany Ġnormal Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" start ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" operations ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 1 . 2 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġstart Ġto Ġconditional Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" start ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" if ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 1 . 2 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" start ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ SOURCE ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġany Ġnormal Ġblock Ġto Ġstop `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" operations ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" stop ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 1 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" operations ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 2 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 3 "), ĠPort Accessibility . ONLY _ TARGET ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" stop ", Ġ" port 2 . 4 "), ĠPort Accessibility . ONLY _ TARGET ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconditional Ġconnection Ġbetween Ġstandard Ġblocks `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" block 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 1 ", Ġ" port 1 . 4 "), ĠPort Accessibility . TWO _ WAY ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġstandard Ġconnection Ġfrom Ġconditional Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" if ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 1 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStandard Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġconditional Ġto Ġconditional Ġblock `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" if 1 ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" if 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 1 ", Ġ" port 1 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 1 ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 1 ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġconditional Ġblock Ġwithout Ġany Ġexisting `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" if ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 1 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Connection Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġconditional Ġblock Ġwith Ġexisting Ġconnection Ġbut Ġwith Ġdifferent Ġvalue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" if ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 1 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠPair ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Connection Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Port Id Ġ= Ġsource . element Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Connection Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġconnection Ġfrom Ġconditional Ġblock Ġwith Ġexisting Ġconnection Ġbut Ġwith Ġsame Ġvalue `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= Ġget Mock ed Port (" if ", Ġ" port 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġget Mock ed Port (" block 2 ", Ġ" port 2 . 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġports Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( source , ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 1 . 2 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 3 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" if ", Ġ" port 2 . 4 "), ĠPort Accessibility . CONDITION AL _ INPUT ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( target , ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 2 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 3 "), ĠPort Accessibility . TWO _ WAY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPair ( getMock ed Port (" block 2 ", Ġ" port 2 . 4 "), ĠPort Accessibility . TWO _ WAY ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( holder . ports ). thenReturn ( ports ) ĊĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= ĠPair ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Connection Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Port Id Ġ= Ġsource . element Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġwhenever ( conn Holder . connections ). thenReturn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Connection Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConditional Ports Connection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Connection Possible ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsut . is Existing Similar Connections ( new Connection ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Mock ed Port ( block Id : ĠString , Ġport Id : ĠString ): ĠPort Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġblock Ġ= ĠMockito . mock ( Block :: class . java ) ĊĠĠĠĠĠĠĠ Ġwhenever ( block . element Id ). thenReturn ( block Id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= ĠMockito . mock ( Port :: class . java ) ĊĠĠĠĠĠĠĠ Ġwhenever ( port . owner ). thenReturn ( block ) ĊĠĠĠĠĠĠĠ Ġwhenever ( port . element Id ). thenReturn ( port Id ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġport ĊĠĠĠ Ġ} Ċ Ċ }