package Ġcom . so y wiz . kor im . vector Ċ Ċ import Ġcom . so y wiz . k orm a . geom . shape .* Ċ import Ġcom . so y wiz . k orm a . geom . vector .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠVector Path Cross Module Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Visit Edges Simpl ified () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Ġ= Ġarray ListOf < String >() ĊĠĠĠĠĠĠĠ Ġbuild Path Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmove To ( 1 0 0 , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquad To ( 1 0 0 , Ġ 2 0 0 , Ġ 2 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠ Ġ}. visit Edges Simple ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġx 0 , Ġy 0 , Ġx 1 , Ġy 1 Ġ-> Ġlog . add (" line (${ x 0 . toInt ()}, Ġ${ y 0 . toInt ()}, Ġ${ x 1 . toInt ()}, Ġ${ y 1 . toInt () }) ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġx 0 , Ġy 0 , Ġx 1 , Ġy 1 , Ġx 2 , Ġy 2 , Ġx 3 , Ġy 3 Ġ-> Ġlog . add (" cubic (${ x 0 . toInt ()}, Ġ${ y 0 . toInt ()}, Ġ${ x 1 . toInt ()}, Ġ${ y 1 . toInt ()}, Ġ${ x 2 . toInt ()}, Ġ${ y 2 . toInt ()}, Ġ${ x 3 . toInt ()}, Ġ${ y 3 . toInt () }) ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġlog . add (" close ") Ġ}, ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcubic ( 1 0 0 , Ġ 1 0 0 , Ġ 1 0 0 , Ġ 1 6 6 , Ġ 1 3 3 , Ġ 2 0 0 , Ġ 2 0 0 , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġline ( 2 0 0 , Ġ 2 0 0 , Ġ 1 0 0 , Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . join ToString ("\ n ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ