package Ġcom . github . dw ur ste is en . min ig dx . ecs . physics Ċ Ċ import ĠMock Platform Context Ċ import Ġcom . github . dw ur ste is en . min ig dx . Game Context Ċ import Ġcom . github . dw ur ste is en . min ig dx . Resolution Ċ import Ġcom . github . dw ur ste is en . min ig dx . ecs . Engine Ċ import Ġcom . github . dw ur ste is en . min ig dx . ecs . components . BoundingBox Component Ċ import Ġcom . github . dw ur ste is en . min ig dx . ecs . components . Position Ċ import Ġcom . github . dw ur ste is en . min ig dx . ecs . entities . Entity Ċ import Ġcom . github . dw ur ste is en . min ig dx . ecs . entities . position Ċ import Ġcreate Game Configuration Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠS AT Collision Resolver Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcoll ider Ġ= ĠS AT Collision Resolver () ĊĊĠĠĠ Ġprivate Ġval Ġengine Ġ= ĠEngine ( ĊĠĠĠĠĠĠĠ ĠGame Context ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMock Platform Context ( create Game Configuration ()), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResolution ( 1 0 0 , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Entities (): ĠPair < Entity , ĠEntity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġengine . create Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( BoundingBox Component . default ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Position ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= Ġengine . create Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( BoundingBox Component . default ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( Position ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġa Ġto Ġb ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcol lide _ it _ does _ not _ col lide () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( a , Ġb ) Ġ= Ġcreate Entities () ĊĠĠĠĠĠĠĠ Ġb . position . add Global Translation ( x Ġ= Ġ 5 f ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcoll ider . col lide ( a , Ġb ) ĊĠĠĠĠĠĠĠ ĠassertFalse ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcol lide _ it _ col lide s () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( a , Ġb ) Ġ= Ġcreate Entities () ĊĠĠĠĠĠĠĠ Ġb . position . add Global Translation ( x Ġ= Ġ 0 . 5 f ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcoll ider . col lide ( a , Ġb ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcol lide _ it _ col lide s _ with _ rotation () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( a , Ġb ) Ġ= Ġcreate Entities () ĊĠĠĠĠĠĠĠ Ġb . position . add Local Rotation ( z Ġ= Ġ 4 5 f ). add Global Translation ( x Ġ= Ġ 0 . 5 f ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcoll ider . col lide ( a , Ġb ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmight Col lide _ it _ m ights _ col lide () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( a , Ġb ) Ġ= Ġcreate Entities () ĊĠĠĠĠĠĠĠ Ġa . position . add Global Translation ( x Ġ= Ġ 1 f ) ĊĠĠĠĠĠĠĠ Ġb . position . add Global Translation ( x Ġ= Ġ 1 . 5 f ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcoll ider . col lide ( a , Ġb ) ĊĠĠĠĠĠĠĠ ĠassertTrue ( result ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġmight Col lide _ it _ does _ not _ m ights _ col lide () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( a , Ġb ) Ġ= Ġcreate Entities () ĊĠĠĠĠĠĠĠ Ġb . position . add Global Translation ( x Ġ= Ġ 4 f ) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcoll ider . col lide ( a , Ġb ) ĊĊĠĠĠĠĠĠĠ ĠassertFalse ( result ) ĊĠĠĠ Ġ} Ċ } Ċ