/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 - 2 0 1 9 ĠThe Ġlg ou 2 w Ġ< lg ou 2 w @ hotmail . 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 Ġcom . lg ou 2 w . ld k . common Ċ Ċ import Ġorg . am sh ove . k lu ent . inv oking Ċ import Ġorg . am sh ove . k lu ent . shouldBe Ċ import Ġorg . am sh ove . k lu ent . should Equal Ċ import Ġorg . am sh ove . k lu ent . should NotEqual Ċ import Ġorg . am sh ove . k lu ent . should Not Throw Ċ import Ġorg . am sh ove . k lu ent . should Start With Ċ import Ġorg . am sh ove . k lu ent . should Throw Ċ import Ġorg . junit . Test Ċ Ċ class ĠVersion Test Ġ{ ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Version Ġ- Ġ 1 Ġshould Ġbe Ġless Ġthan Ġversion Ġ 2 `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 1 Ġ= ĠVersion ( 1 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġv 2 Ġ= ĠVersion ( 2 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġv 1 . major Ġshould Equal Ġ 1 ĊĠĠĠĠĠĠĠ Ġv 2 . major Ġshould Equal Ġ 2 ĊĠĠĠĠĠĠĠ Ġv 1 Ġshould NotEqual Ġv 2 ĊĠĠĠĠĠĠĠ Ġ( v 1 Ġ< Ġv 2 ) Ġshould Equal Ġtrue ĊĠĠĠĠĠĠĠ Ġ( v 1 Ġ> Ġv 2 ) Ġshould Equal Ġfalse ĊĠĠĠĠĠĠĠ Ġv 1 . equals ( v 2 ) Ġshould Equal Ġfalse ĊĠĠĠĠĠĠĠ Ġv 2 . equals ( v 1 ) Ġshould Equal Ġfalse ĊĠĠĠĠĠĠĠ Ġv 1 Ġshould Equal ĠVersion ( 1 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġv 2 Ġshould Equal ĠVersion ( 2 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 1 ). let Ġ{ Ġit Ġ> Ġv 1 Ġ&& Ġit Ġ< Ġv 2 Ġ} Ġshould Equal Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Version Ġ- Ġversion Ġmember Ġcomparison `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġver Ġ= ĠVersion ( 1 , Ġ 0 , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġver . major Ġshould Equal Ġ 1 ĊĠĠĠĠĠĠĠ Ġver . minor Ġshould Equal Ġ 0 ĊĠĠĠĠĠĠĠ Ġver . build Ġshould Equal Ġ 1 ĊĠĠĠĠĠĠĠ Ġver . version Ġshould Equal Ġ" 1 . 0 . 1 " ĊĠĠĠĠĠĠĠ Ġver ĠshouldBe Ġver ĊĠĠĠĠĠĠĠ Ġver . equals ( ver ) Ġshould Equal Ġtrue ĊĠĠĠĠĠĠĠ Ġver . equals (" ver ") Ġshould Equal Ġfalse ĊĠĠĠĠĠĠĠ Ġver . toString () Ġshould Start With Ġ" Version " ĊĠĠĠĠĠĠĠ Ġver . equals ( Version ( 1 , Ġ 0 , Ġ 1 )) Ġshould Equal Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Version Ġ- Ġversion Ġparsing `() Ġ{ ĊĠĠĠĠĠĠĠ ĠVersion . parse (" 1 . 0 . 1 "). version Ġshould Equal Ġ" 1 . 0 . 1 " ĊĠĠĠĠĠĠĠ ĠVersion . parse S af ely (" 1 . 0 . 1 ") Ġshould Equal ĠVersion . parse (" 1 . 0 . 1 ") ĊĠĠĠĠĠĠĠ ĠVersion . parse S af ely (" error ") Ġshould Equal Ġnull ĊĠĠĠĠĠĠĠ ĠVersion . parse S af ely ( null ) Ġshould Equal Ġnull ĊĠĠĠĠĠĠĠ ĠVersion . parse S af ely ("") Ġshould Equal Ġnull ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĠVersion . parse (" error ") Ġ} Ġshould Throw ĠIllegalArgumentException :: class ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĠVersion . parse S af ely (" error ") Ġ} Ġshould Not Throw ĠIllegalArgumentException :: class ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Version Ġ- Ġzero Ġversion ĠhashCode Ġshould Ġbe Ġzero `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġzero Ver Ġ= ĠVersion ( 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġzero Ver . version Ġshould Equal Ġ" 0 . 0 . 0 " ĊĠĠĠĠĠĠĠ Ġzero Ver . hashCode () Ġshould Equal Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġ` Version Ġ- Ġequals `() Ġ{ ĊĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 1 ). equals ( Version ( 1 , Ġ 1 , Ġ 0 )) Ġshould Equal Ġfalse ĊĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 1 ). equals ( Version ( 1 , Ġ 0 , Ġ 2 )) Ġshould Equal Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ