package Ġcom . h ann es dor fm ann . inst anti ator Ċ Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . fail Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠClass Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` data Ġclass Ġconsisting Ġof Ġprimitives Ġis Ġgenerated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx : ĠSome Class Ġ= Ġinstance () ĊĠĠĠĠĠĠĠ Ġprintln ( x ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` class Ġwith Ġempty Ġconstructor Ġis Ġgenerated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx : ĠEmpty Constructor Class Ġ= Ġinstance () ĊĠĠĠĠĠĠĠ Ġprintln ( x ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` class Ġwith Ġconstructor Ġthat Ġtakes Ġanother Ġclass Ġis Ġgenerated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġx : ĠWr apped Class Ġ= Ġinstance () ĊĠĠĠĠĠĠĠ Ġprintln ( x ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` class Ġwith Ġprivate Ġconstructor Ġcannot Ġbe Ġinstantiated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx : ĠClass With Private Constructor Ġ= Ġinstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Exception Ġexpected Ġbut Ġhas Ġnot Ġbeen Ġthrown ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" Cannot Ġcreate Ġan Ġinstance Ġof Ġ${ Class With Private Constructor :: class } Ġbecause Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" primary Ġconstructor Ġhas Ġprivate Ġvisibility . ĠConstructor Ġmust Ġbe Ġpublic ." ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` class Ġwith Ġprotected Ġconstructor Ġcannot Ġbe Ġinstantiated `() Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx : ĠClass With Protected Constructor Ġ= Ġinstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Exception Ġexpected Ġbut Ġhas Ġnot Ġbeen Ġthrown ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" Cannot Ġcreate Ġan Ġinstance Ġof Ġ${ Class With Protected Constructor :: class } Ġbecause Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" primary Ġconstructor Ġhas Ġprotected Ġvisibility . ĠConstructor Ġmust Ġbe Ġpublic ." ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġe . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġdata Ġclass ĠSome Class ( ĊĠĠĠĠĠĠĠ Ġval Ġi : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġf : ĠFloat , ĊĠĠĠĠĠĠĠ Ġval Ġd : ĠDouble , ĊĠĠĠĠĠĠĠ Ġval Ġb : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġby : ĠByte , ĊĠĠĠĠĠĠĠ Ġval Ġs : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġc : ĠChar , ĊĠĠĠĠĠĠĠ Ġval Ġl : ĠLong , ĊĠĠĠĠĠĠĠ Ġval Ġsh : ĠShort ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġclass ĠEmpty Constructor Class ĊĊĠĠĠ Ġdata Ġclass ĠWr apped Class ( val Ġi : ĠInt , Ġval Ġsome Class : ĠSome Class ) ĊĊĠĠĠ Ġclass ĠClass With Private Constructor Ġprivate Ġconstructor ( i : ĠInt ) ĊĊĠĠĠ Ġopen Ġclass ĠClass With Protected Constructor Ġprotected Ġconstructor ( i : ĠInt ) Ċ }