package Ġcom . so y wiz . k orge . view Ċ Ċ import Ġcom . so y wiz . k lock . seconds Ċ import Ġcom . so y wiz . k mem .* Ċ import Ġcom . so y wiz . k orge . component . dock ing .* Ċ import Ġcom . so y wiz . k orge . render .* Ċ import Ġcom . so y wiz . k orge . tests .* Ċ import Ġcom . so y wiz . k orge . t ween . get Ċ import Ġcom . so y wiz . k orge . t ween . t ween Ċ import Ġcom . so y wiz . kor im . bitmap .* Ċ import Ġcom . so y wiz . kor im . color .* Ċ import Ġcom . so y wiz . kor io . util .* Ċ import Ġcom . so y wiz . k orm a . geom .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠViews Test Ġ: ĠViews ForTesting () Ġ{ Ċ ĉ val Ġtex Ġ= ĠBitmap 3 2 ( 1 0 , Ġ 1 0 ) ĊĊ ĉ @ Test Ċ ĉ fun Ġtest Bounds () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġimage Ġ= ĠImage ( tex ). position ( 1 0 0 , Ġ 1 0 0 ) Ċĉ ĉ views . stage Ġ+= Ġimage Ċĉ ĉ assertEquals ( Rectangle ( 1 0 0 , Ġ 1 0 0 , Ġ 1 0 , Ġ 1 0 ), Ġimage . getGlobal Bounds ()) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġtest Bounds 2 () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġimage Ġ= ĠImage ( tex ). position (- 1 0 0 , Ġ 1 0 0 ) Ċĉ ĉ views . stage Ġ+= Ġimage Ċĉ ĉ assertEquals ( Rectangle (- 1 0 0 , Ġ 1 0 0 , Ġ 1 0 , Ġ 1 0 ), Ġimage . getGlobal Bounds ()) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġremove From Parent () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġs 1 Ġ= ĠContainer (). apply Ġ{ Ġname Ġ= Ġ" s 1 " Ġ} Ċĉ ĉ val Ġs 2 Ġ= ĠContainer (). apply Ġ{ Ġname Ġ= Ġ" s 2 " Ġ} Ċĉ ĉ val Ġs 3 Ġ= ĠContainer (). apply Ġ{ Ġname Ġ= Ġ" s 3 " Ġ} Ċĉ ĉ views . stage Ġ+= Ġs 1 Ċĉ ĉ s 1 Ġ+= Ġs 2 Ċĉ ĉ s 1 Ġ+= Ġs 3 Ċĉ ĉ assertNotNull ( s 1 [" s 2 "]) Ċĉ ĉ assertNotNull ( s 1 [" s 3 "]) ĊĊĉ ĉ s 1 Ġ-= Ġs 3 Ċĉ ĉ assertNotNull ( s 1 [" s 2 "]) Ċĉ ĉ assertNull ( s 1 [" s 3 "]) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġsort Children () Ġ= Ġviews Test Ġ{ Ċĉ ĉ late init Ġvar Ġa : ĠView Ċĉ ĉ late init Ġvar Ġb : ĠView Ċĉ ĉ late init Ġvar Ġc : ĠView Ċĉ ĉ val Ġs 1 Ġ= ĠContainer (). apply Ġ{ Ċĉĉ ĉ this Ġ+= ĠSolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ). apply Ġ{ Ġa Ġ= Ġthis ; Ġy Ġ= Ġ 1 0 0 . 0 Ġ} Ċĉĉ ĉ this Ġ+= ĠSolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ). apply Ġ{ Ġb Ġ= Ġthis ; Ġy Ġ= Ġ 5 0 . 0 Ġ} Ċĉĉ ĉ this Ġ+= ĠSolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ). apply Ġ{ Ġc Ġ= Ġthis ; Ġy Ġ= Ġ 0 . 0 Ġ} Ċĉ ĉ } ĊĊĉ ĉ fun ĠView . to Str () Ġ= Ġ" ($ index , ${ y . nice Str })" Ċĉ ĉ fun Ġdump () Ġ= Ġ"${ a . to Str ()}, ${ b . to Str ()}, ${ c . to Str ()} :: ${ s 1 . children . map Ġ{ Ġit . to Str () Ġ}}" Ċĉ ĉ assertEquals ("( 0 , 1 0 0 ),( 1 , 5 0 ),( 2 , 0 ):: [( 0 , 1 0 0 ), Ġ( 1 , 5 0 ), Ġ( 2 , 0 )] ", Ġdump ()) Ċĉ ĉ s 1 . sort Children By Y () Ċĉ ĉ assertEquals ("( 2 , 1 0 0 ),( 1 , 5 0 ),( 0 , 0 ):: [( 0 , 0 ), Ġ( 1 , 5 0 ), Ġ( 2 , 1 0 0 )] ", Ġdump ()) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġcommon Ancestor Simple () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġa Ġ= ĠContainer () Ċĉ ĉ val Ġb Ġ= ĠContainer () Ċĉ ĉ assertEquals ( a , ĠView . common Ancestor ( a , Ġa )) Ċĉ ĉ assertEquals ( null , ĠView . common Ancestor ( a , Ġnull )) Ċĉ ĉ assertEquals ( null , ĠView . common Ancestor ( a , Ġb )) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġcommon Ancestor 2 () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġa Ġ= ĠContainer () Ċĉ ĉ val Ġb Ġ= ĠContainer () Ċĉ ĉ a Ġ+= Ġb Ċĉ ĉ assertEquals ( a , ĠView . common Ancestor ( a , Ġb )) Ċĉ ĉ assertEquals ( a , ĠView . common Ancestor ( b , Ġa )) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġtest Size () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġc Ġ= ĠContainer () Ċĉ ĉ val Ġs 1 Ġ= ĠSolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ) Ċĉ ĉ val Ġs 2 Ġ= ĠSolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ) Ċĉ ĉ c Ġ+= Ġs 1 . apply Ġ{ Ġx Ġ= Ġ 0 . 0 Ġ} Ċĉ ĉ c Ġ+= Ġs 2 . apply Ġ{ Ġx Ġ= Ġ 1 0 0 . 0 Ġ} Ċĉ ĉ assertEquals ( 2 0 0 , Ġc . width . toInt ()) Ċĉ ĉ assertEquals ( 1 0 0 , Ġc . height . toInt ()) Ċĉ ĉ assertEquals ( 1 . 0 , Ġc . scale X ) Ċĉ ĉ c . width Ġ= Ġ 4 0 0 . 0 Ċĉ ĉ assertEquals ( 4 0 0 , Ġc . width . toInt ()) Ċĉ ĉ assertEquals ( 1 0 0 , Ġc . height . toInt ()) Ċĉ ĉ assertEquals ( 2 . 0 , Ġc . scale X ) Ċ ĉ } ĊĊ ĉ @ Test Ċ ĉ fun Ġtest Tween () Ġ= Ġviews Test Ġ{ Ċĉ ĉ val Ġimage Ġ= Ġsolid Rect ( 1 0 0 , Ġ 1 0 0 , ĠColors . RED ). position ( 0 , Ġ 0 ) Ċĉ ĉ image . t ween ( image :: x [- 1 0 1 ], Ġtime Ġ= Ġ 4 . seconds ) Ċĉ ĉ assertEquals ( false , Ġimage . isVisible To User ()) Ċ ĉ } Ċ } Ċ