package Ġass imp . stl Ċ Ċ import Ġass imp . Ai Primitive Type Ċ import Ġass imp . Importer Ċ import Ġass imp . models Ċ import Ġglm _. mat 4 x 4 . Mat 4 Ċ import Ġglm _. vec 3 . Vec 3 Ċ import Ġio . kot lint est . matchers . shouldBe Ċ import Ġio . kot lint est . specs . String Spec Ċ Ċ object Ġtriangle Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġinvoke ( fileName : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwith ( Importer (). readFile ( fileName ) !! ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġflags ĠshouldBe Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( root Node ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĠshouldBe Ġ" test Triangle " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransformation ĠshouldBe ĠMat 4 () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Children ĠshouldBe Ġ 0 Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchildren ĠshouldBe Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Mes hes ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmeshes [ 0 ] ĠshouldBe Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmetaData . isEmpty () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Mes hes ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeshes . size ĠshouldBe Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( meshes [ 0 ]) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimitive Types ĠshouldBe ĠA i Primitive Type . TRI ANGLE . i ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Vertices ĠshouldBe Ġ 3 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertices [ 0 ] ĠshouldBe ĠVec 3 ( 1 , Ġ 1 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertices [ 1 ] ĠshouldBe ĠVec 3 (- 1 , Ġ 1 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertices [ 2 ] ĠshouldBe ĠVec 3 ( 0 , Ġ- 1 , Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormals [ 0 ] ĠshouldBe ĠVec 3 ( 0 , Ġ 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormals [ 1 ] ĠshouldBe ĠVec 3 ( 0 , Ġ 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormals [ 2 ] ĠshouldBe ĠVec 3 ( 0 , Ġ 0 , Ġ 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtang ents . isEmpty () ĠshouldBe Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbit ang ents . isEmpty () ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . all Ġ{ Ġit . isEmpty () Ġ} ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtexture Coords . all Ġ{ Ġit . isEmpty () Ġ} ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfaces . size ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfaces [ 0 ]. size ĠshouldBe Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġp Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfaces [ 0 ]. all Ġ{ Ġit Ġ== Ġp ++ Ġ} ĠshouldBe Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum B ones ĠshouldBe Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĠshouldBe Ġ"" ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Num Anim Mes hes ĠshouldBe Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Materials ĠshouldBe Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( materials [ 0 ]) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( color !! ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiffuse ĠshouldBe ĠVec 3 ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspecular ĠshouldBe ĠVec 3 ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġambient ĠshouldBe ĠVec 3 ( 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }