package Ġcom . ko tr t Ċ Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠPlane Tests Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` The Ġnormal Ġof Ġa Ġplane Ġis Ġconstant Ġeverywhere `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPlane (" p 1 ") ĊĊĠĠĠĠĠĠĠ Ġval Ġn 1 Ġ= Ġp . normal At Local ( point ( 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 )) ĊĠĠĠĠĠĠĠ Ġval Ġn 2 Ġ= Ġp . normal At Local ( point ( 1 0 . 0 , Ġ 0 . 0 , Ġ- 1 0 . 0 )) ĊĠĠĠĠĠĠĠ Ġval Ġn 3 Ġ= Ġp . normal At Local ( point (- 5 . 0 , Ġ 0 . 0 , Ġ 1 5 0 . 0 )) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( vector ( 0 . 0 , Ġ 1 . 0 , Ġ 0 . 0 ), Ġn 1 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( vector ( 0 . 0 , Ġ 1 . 0 , Ġ 0 . 0 ), Ġn 2 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( vector ( 0 . 0 , Ġ 1 . 0 , Ġ 0 . 0 ), Ġn 3 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Intersect Ġwith Ġa Ġray Ġparallel Ġto Ġthe Ġplane `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPlane (" p 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠRay ( point ( 0 . 0 , Ġ 1 0 . 0 , Ġ 0 . 0 ), Ġvector ( 0 . 0 , Ġ 0 . 0 , Ġ 1 . 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġxs Ġ= Ġp . intersect Local ( r ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġxs . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Intersect Ġwith Ġa Ġcop lan ar Ġray `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPlane (" p 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠRay ( point ( 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ), Ġvector ( 0 . 0 , Ġ 0 . 0 , Ġ 1 . 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġxs Ġ= Ġp . intersect Local ( r ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 , Ġxs . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` A Ġray Ġintersect ing Ġthe Ġplane Ġfrom Ġabove `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPlane (" p 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠRay ( point ( 0 . 0 , Ġ 1 . 0 , Ġ 0 . 0 ), Ġvector ( 0 . 0 , Ġ- 1 . 0 , Ġ 0 . 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġxs Ġ= Ġp . intersect Local ( r ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġxs . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . 0 , Ġxs [ 0 ]. t ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( p , Ġxs [ 0 ]. shape ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` A Ġray Ġintersect ing Ġthe Ġplane Ġfrom Ġbelow `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠPlane (" p 1 ") ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠRay ( point ( 0 . 0 , Ġ- 1 . 0 , Ġ 0 . 0 ), Ġvector ( 0 . 0 , Ġ 1 . 0 , Ġ 0 . 0 )) ĊĊĠĠĠĠĠĠĠ Ġval Ġxs Ġ= Ġp . intersect Local ( r ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġxs . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 . 0 , Ġxs [ 0 ]. t ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( p , Ġxs [ 0 ]. shape ) ĊĠĠĠ Ġ} Ċ }