package Ġnet . avro 2 kotlin . compiler Ċ Ċ import Ġnet . avro 2 kotlin . compiler .* Ċ import Ġorg . apache . avro . Schema Ċ import Ġorg . hamcrest . Core Matchers . contains String Ċ import Ġorg . hamcrest . Matcher Assert . assertThat Ċ import Ġorg . junit . Test Ċ Ċ class ĠEnum ClassGenerator Test Ġ{ ĊĊĠĠĠ Ġval Ġspec Ġ= ĠSk in ny Av ro File Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" com . example ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Example Interface With Enum ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschema Specs Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSk in ny Schema Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnamespace Ġ= Ġ" com . example ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Example Enum ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠSchema . Type . ENUM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfields Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMin imal Field Spec (" ENUM _ VALUE _ 1 ", Ġnull ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMin imal Field Spec (" ENUM _ VALUE _ 2 ", Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Output Enum () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerated Code Ġ= ĠData ClassGenerator . generate From ( spec ). content ĊĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" enum Ġclass ĠExample Enum ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" ENUM _ VALUE _ 1 , ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" ENUM _ VALUE _ 2 ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġshould Output Converter For Enum () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerated Code Ġ= ĠData Class Converter Generator . generate From ( spec ). content ĊĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" class ĠExample Enum Converter Ġ: ĠKotlin Av ro Converter < Example Enum Kt , ĠExample Enum > ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" override Ġfun Ġto Av ro Specific Record ( example Enum : ĠExample Enum Kt ): ĠExample Enum Ġ= ĠExample Enum Converter . to Av ro Specific Record ( example Enum ) ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" fun Ġto Av ro Specific Record ( example Enum : ĠExample Enum Kt ) Ġ= Ġcom . example . Example Enum . valueOf ( example Enum . name ) ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" override Ġfun Ġfrom Av ro Specific Record ( example Enum : ĠExample Enum ): ĠExample Enum Kt Ġ= ĠExample Enum Converter . from Av ro Specific Record ( example Enum ) ")) ĊĠĠĠĠĠĠĠ ĠassertThat ( generated Code , Ġcontains String (" fun Ġfrom Av ro Specific Record ( example Enum : ĠExample Enum ) Ġ= ĠExample Enum Kt . valueOf ( example Enum . name ) ")) ĊĠĠĠ Ġ} Ċ }