// FILE : ĠData Example . java Ċ Ċ import Ġlombok .*; Ċ Ċ @ Data Ġpublic Ġclass ĠData Example Ġ{ ĊĠĠĠ Ġprivate Ġfinal ĠString Ġname ; ĊĠĠĠ Ġ@ Setter ( Access Level . PACKAGE ) Ġprivate Ġint Ġage ; ĊĠĠĠ Ġprivate Ġdouble Ġscore ; ĊĠĠĠ Ġprivate ĠString [] Ġtags ; ĊĊĠĠĠ Ġ@ ToString ( include Field Names = true ) ĊĠĠĠ Ġ@ Data ( static Constructor =" of ") ĊĠĠĠ Ġpublic Ġstatic Ġclass ĠExercise < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfinal ĠString Ġname ; ĊĠĠĠĠĠĠĠ Ġprivate Ġfinal ĠT Ġvalue ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġstatic Ġvoid Ġusage () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= Ġnew ĠData Example (" name "); ĊĠĠĠĠĠĠĠ Ġobj . getName (); ĊĠĠĠĠĠĠĠ Ġobj . get Tags (); ĊĠĠĠĠĠĠĠ Ġobj . set Score ( 1 . 5 ); ĊĊĠĠĠĠĠĠĠ ĠExercise < Integer > Ġex Ġ= ĠExercise . of (" name ", Ġ 1 2 ); ĊĠĠĠ Ġ} Ċ } Ċ Ċ // FILE : Ġtest . kt Ċ Ċ class ĠTest Ġ{ ĊĠĠĠ Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobj Ġ= ĠData Example (" name ") ĊĠĠĠĠĠĠĠ Ġobj . getName () ĊĠĠĠĠĠĠĠ ĠassertEquals ( obj . name , Ġ" name ") ĊĠĠĠĠĠĠĠ Ġobj . get Tags () ĊĠĠĠĠĠĠĠ Ġval Ġtags Ġ= Ġobj . tags ĊĠĠĠĠĠĠĠ Ġobj . set Score ( 1 . 5 ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( obj . score , Ġ 1 . 5 ) ĊĠĠĠĠĠĠĠ Ġobj . score Ġ= Ġ 2 . 5 ĊĠĠĠĠĠĠĠ ĠassertEquals ( obj . score , Ġ 2 . 5 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġex : ĠData Example . Exercise < Int > Ġ= ĠData Example . Exercise . of (" name ", Ġ 1 2 ) ĊĠĠĠ Ġ} Ċ } Ċ