/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 - 2 0 2 1 ĠAnd rei ĠHe ide lb acher Ġ< and rei . he ide lb acher @ gmail . com > Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . chron ol ens . core . repository Ċ Ċ import Ġorg . chron ol ens . core . model . Add Node Ċ import Ġorg . chron ol ens . core . model . Edit Type Ċ import Ġorg . chron ol ens . core . model . Remove Node Ċ import Ġorg . chron ol ens . core . model . Type Ċ import Ġorg . junit . Test Ċ import Ġjava . time . Instant Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assert Fails With Ċ Ċ class ĠTransaction Test Ġ{ ĊĠĠĠ Ġ@ Test Ġfun Ġ` test Ġtransaction Ġwith Ġempty Ġid Ġthrows `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTransaction ( revision Id Ġ= Ġ"", Ġdate Ġ= ĠInstant . now (), Ġauthor Ġ= Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` test Ġtransaction Ġwith Ġinvalid Ġcharacters Ġin Ġid Ġthrows `() Ġ{ ĊĠĠĠĠĠĠĠ Ġassert Fails With < IllegalArgumentException > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTransaction ( revision Id Ġ= Ġ" 1 2 a A _", Ġdate Ġ= ĠInstant . now (), Ġauthor Ġ= Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` test Ġchange Ġset `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġset Of (" Main . java ", Ġ" Test . java ", Ġ" Main Test . java ") ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= ĠTransaction ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrevision Id Ġ= Ġ" 1 2 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= ĠInstant . now (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthor Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedits Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAdd Node ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" Main . java : Main : Main Type ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ= ĠType (" Main Type "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRemove Node (" Test . java : Test : Test Type "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEdit Type (" Main Test . java : Main Test ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). change Set ĊĠĠĠĠĠĠĠ ĠassertEquals ( expected , Ġactual ) ĊĠĠĠ Ġ} Ċ } Ċ