/* Ċ Ġ* ĠCopyright ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 . Ċ Ġ*/ Ċ package Ġsoftware . amazon . smithy . kotlin . codegen . model Ċ Ċ import Ġsoftware . amazon . smithy . kotlin . codegen . core . Kotlin Dependency Ċ import Ġkotlin . test .* Ċ import Ġkotlin . test . Test Ċ Ċ class ĠSymbol Builder Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġbuilds Ġsymbols `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġbuild Symbol Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Foo " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ+= ĠKotlin Dependency . CORE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" My Ref " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" com . my pkg " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefinition File Ġ= Ġ" Foo . kt " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeclaration File Ġ= Ġ" Foo . kt " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= Ġ" foo ey " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperties Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset (" key ", Ġ" value ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset (" key 2 ", Ġ" value 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove (" key 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals (" Foo ", Ġx . name ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" com . my pkg ", Ġx . namespace ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Foo . kt ", Ġx . declaration File ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" Foo . kt ", Ġx . definition File ) ĊĠĠĠĠĠĠĠ ĠassertEquals (" value ", Ġx . getProperty (" key "). get ()) ĊĠĠĠĠĠĠĠ ĠassertFalse ( x . getProperty (" key 2 "). isPresent ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġx . references . size ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 1 , Ġx . dependencies . size ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġbuilds Ġsymbol Ġfrom ĠString `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġbuild Symbol Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Foo " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" x . y . z " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġ" x . y . z . Foo ". to Symbol ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` it Ġbuilds Ġsymbol Ġwithout Ġnamespace ĠString `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġbuild Symbol Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Foo " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . namespace , Ġ" Foo ". to Symbol (). namespace ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected . name , Ġ" Foo ". to Symbol (). name ) ĊĠĠĠ Ġ} Ċ } Ċ