/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . ĠJetBrains Ġs . r . o . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġjet brains . datal ore . base . spatial ĊĊ Ċ import Ġjet brains . datal ore . base . spatial . Geo Rectangle TestHelper . rectangle Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assert Fails With Ċ import Ġkotlin . test . assertFalse Ċ import Ġkotlin . test . assertTrue Ċ Ċ class ĠGeo Rectangle Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġen clo ses Rectangle With Positive Coordinate () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ RECT ANGLE . enc lo ses ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSE COND _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġen clo ses Rectangle C ros sed Anti Mer id ian () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ RECT ANGLE . enc lo ses ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTH IRD _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġen clo ses Rectangle With Negative Coordinate () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertTrue ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ RECT ANGLE . enc lo ses ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFO UR TH _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġen clo ses Rectangle With Wrong Longitude () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ RECT ANGLE . enc lo ses ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF IF TH _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġen clo ses Rectangle With Wrong Latitude () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertFalse ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ RECT ANGLE . enc lo ses ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS IX TH _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġget Exception Trying Create Mixed Latitude Rectangle () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmin Lat Ġ= ĠTOP _ LAT IT UDE ĊĠĠĠĠĠĠĠ Ġval Ġmax Lat Ġ= ĠBOTTOM _ LAT IT UDE ĊĊĠĠĠĠĠĠĠ Ġexpect Invalid Latitude Exception ( min Lat , Ġmax Lat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrectangle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFIRST _ LONG IT UDE , Ġmin Lat , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSE COND _ LONG IT UDE , Ġmax Lat ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexpect Invalid Latitude Exception ( min Lat : ĠDouble , Ġmax Lat : ĠDouble , Ġblock : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpect Message Ġ= Ġ" Invalid Ġlatitude Ġrange : Ġ[$ min Lat .. $ max Lat ]" ĊĠĠĠĠĠĠĠ Ġassert Fails With ( IllegalArgumentException :: class , Ġexpect Message , Ġblock ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFIRST _ RECT ANGLE Ġ= Ġrectangle ( 1 6 0 . 0 , Ġ 3 0 . 0 , Ġ- 1 4 0 . 0 , Ġ 5 8 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSE COND _ RECT ANGLE Ġ= Ġrectangle (- 1 7 5 . 0 , Ġ 5 0 . 0 , Ġ- 1 5 0 . 0 , Ġ 5 8 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTH IRD _ RECT ANGLE Ġ= Ġrectangle ( 1 7 0 . 0 , Ġ 3 0 . 0 , Ġ- 1 7 8 . 0 , Ġ 4 8 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFO UR TH _ RECT ANGLE Ġ= Ġrectangle ( 1 7 2 . 0 , Ġ 4 0 . 0 , Ġ 1 7 8 . 0 , Ġ 5 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠF IF TH _ RECT ANGLE Ġ= Ġrectangle (- 2 0 . 0 , Ġ 4 5 . 0 , Ġ 4 0 . 0 , Ġ 5 3 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠS IX TH _ RECT ANGLE Ġ= Ġrectangle ( 1 7 2 . 0 , Ġ 2 0 . 0 , Ġ 1 7 8 . 0 , Ġ 4 5 . 0 ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTOP _ LAT IT UDE Ġ= Ġ 6 3 . 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠBOTTOM _ LAT IT UDE Ġ= Ġ 4 2 . 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFIRST _ LONG IT UDE Ġ= Ġ 1 5 . 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSE COND _ LONG IT UDE Ġ= Ġ 3 7 . 0 ĊĠĠĠ Ġ} Ċ }