/* Ċ Ġ* ĠThe ĠMIT ĠLicense Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠMat th ias ĠHel d Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ package Ġde . al x gr k Ċ Ċ import Ġde . al x gr k . git . Git Service Ċ import Ġde . al x gr k . version . Semantic Version Factory Ċ import Ġde . al x gr k . version . Version Factory Ċ import Ġio . mock k . mock k Ċ import Ġio . mock k . mock k Object Ċ import Ġorg . apache . maven . project . Maven Project Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . Assertions . assert Throws Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ class ĠSemantic Version Factory Test Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġproject : ĠMaven Project ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġinternal Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ Ġproject Ġ= Ġmock k () ĊĠĠĠĠĠĠĠ Ġmock k Object ( Git Service ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` parse Ġversion `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsemantic Version Factory : ĠVersion Factory Ġ= ĠSemantic Version Factory ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - 0 - g 1 2 3 - dirty "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", ĠS uffix ( 0 , Ġ" 1 2 3 ", Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 0 . 0 . 1 - 1 - g fe 1 7 e 7 f "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 0 , Ġ 0 , Ġ 1 , Ġ"", Ġ"", ĠS uffix ( 1 , Ġ" fe 1 7 e 7 f ", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - 2 - g 1 2 3 - dirty "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", ĠS uffix ( 2 , Ġ" 1 2 3 ", Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - 0 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" 0 ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 0 . 0 . 4 "), ĠVersion ( 0 , Ġ 0 , Ġ 4 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 2 . 3 "), ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 0 . 2 0 . 3 0 "), ĠVersion ( 1 0 , Ġ 2 0 , Ġ 3 0 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 1 . 2 - pr erelease + meta "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 1 , Ġ 2 , Ġ" pr erelease ", Ġ" meta ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 1 . 2 + meta "), ĠVersion ( 1 , Ġ 1 , Ġ 2 , Ġ"", Ġ" meta ", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 1 . 2 + meta - valid "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 1 , Ġ 2 , Ġ"", Ġ" meta - valid ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - alpha "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - beta "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" beta ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha . beta "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha . beta ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha . beta . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha . beta . 1 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - alpha . 1 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha . 1 ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha 0 . valid "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha 0 . valid ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha . 0 valid "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha . 0 valid ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha - a . b - c - something long + build . 1 - aef . 1 - its - ok ay "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha - a . b - c - something long ", Ġ" build . 1 - aef . 1 - its - ok ay ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - rc . 1 + build . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" rc . 1 ", Ġ" build . 1 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 2 . 0 . 0 - rc . 1 + build . 1 2 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 2 , Ġ 0 , Ġ 0 , Ġ" rc . 1 ", Ġ" build . 1 2 3 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 2 . 3 - beta "), ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ" beta ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 0 . 2 . 3 - DEV - SNAPSHOT "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 0 , Ġ 2 , Ġ 3 , Ġ" DEV - SNAPSHOT ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 - SNAPSHOT - 1 2 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ" SNAPSHOT - 1 2 3 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 2 . 0 . 0 "), ĠVersion ( 2 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 1 . 7 "), ĠVersion ( 1 , Ġ 1 , Ġ 7 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 2 . 0 . 0 + build . 1 8 4 8 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 2 , Ġ 0 , Ġ 0 , Ġ"", Ġ" build . 1 8 4 8 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 2 . 0 . 1 - alpha . 1 2 2 7 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 2 , Ġ 0 , Ġ 1 , Ġ" alpha . 1 2 2 7 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha + beta "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" alpha ", Ġ" beta ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 ---- RC - SNAPSHOT . 1 2 . 9 . 1 -- . 1 2 + 7 8 8 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ" --- RC - SNAPSHOT . 1 2 . 9 . 1 -- . 1 2 ", Ġ" 7 8 8 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 ---- R - S . 1 2 . 9 . 1 -- . 1 2 + meta "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ" --- R - S . 1 2 . 9 . 1 -- . 1 2 ", Ġ" meta ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 ---- RC - SNAPSHOT . 1 2 . 9 . 1 -- . 1 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 2 , Ġ 3 , Ġ" --- RC - SNAPSHOT . 1 2 . 9 . 1 -- . 1 2 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 + 0 . build . 1 - rc . 1 0 0 0 0 aaa - kk - 0 . 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ" 0 . build . 1 - rc . 1 0 0 0 0 aaa - kk - 0 . 1 ", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 9 9 9 9 9 9 9 , Ġ 9 9 9 9 9 9 9 , Ġ 9 9 9 9 9 9 9 , Ġ"", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - 0 A . is . legal "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" 0 A . is . legal ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 1 . 1 "), ĠVersion ( 1 , Ġ 1 , Ġ 1 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - 5 - g 5 2 4 2 3 4 1 - dirty "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", ĠS uffix ( 5 , Ġ" 5 2 4 2 3 4 1 ", Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - 5 - g 5 2 4 2 3 4 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", ĠS uffix ( 5 , Ġ" 5 2 4 2 3 4 1 ", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 5 0 0 0 . 1 . 1 0 0 0 0 0 0 - 5 - g 5 2 4 2 3 4 1 - dirty "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 5 0 0 0 , Ġ 1 , Ġ 1 0 0 0 0 0 0 , Ġ"", Ġ"", ĠS uffix ( 5 , Ġ" 5 2 4 2 3 4 1 ", Ġtrue )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" v 1 . 0 . 0 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" V 1 . 0 . 0 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 -- dirty - 5 - g 5 2 4 2 3 4 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"- dirty ", Ġ"", ĠS uffix ( 5 , Ġ" 5 2 4 2 3 4 1 ", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - dirty -- 5 - g 5 2 4 2 3 4 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" dirty -", Ġ"", ĠS uffix ( 5 , Ġ" 5 2 4 2 3 4 1 ", Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - dirty - 5 -- g 5 2 4 2 3 4 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" dirty - 5 -- g 5 2 4 2 3 4 1 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 -- g 5 2 4 2 3 4 1 "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"- g 5 2 4 2 3 4 1 ", Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - g "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" g ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 -- g "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ"- g ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - g 1 2 3 - 5 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" g 1 2 3 - 5 ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - 5 - dirty "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" 5 - dirty ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - 5 "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" 5 ", Ġ"", Ġnull )) ĊĠĠĠĠĠĠĠ ĠassertEquals ( semantic Version Factory . create FromString (" 1 . 0 . 0 - 5 - g "), ĠVersion ( 1 , Ġ 0 , Ġ 0 , Ġ" 5 - g ", Ġ"", Ġnull )) ĊĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 - 0 1 2 3 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 - 0 1 2 3 . 0 1 2 3 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 1 . 2 +. 1 2 3 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("+ invalid ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("- invalid ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("- invalid + invalid ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("- invalid . 0 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha . beta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha . beta . 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha . 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha + beta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha _ beta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" alpha .. ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" beta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha _ beta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("- ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha .. ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha .. 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha ... 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha .... 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha ..... 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha ...... 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - alpha ....... 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 0 1 . 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 1 . 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 1 . 0 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 . DEV ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 - SNAPSHOT ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 . 3 1 . 2 . 3 ---- RC - SNAPSHOT . 1 2 . 0 9 . 1 -- .. 1 2 + 7 8 8 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 2 - RC - SNAPSHOT ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("- 1 . 0 . 3 - gamma + b 7 7 1 8 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("+ just meta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 9 . 8 . 7 + meta + meta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 9 . 8 . 7 - wh atever + meta + meta ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 . 9 9 9 9 9 9 9 ---- RC - SNAPSHOT . 1 2 . 0 9 . 1 -------------------------------- .. 1 2 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 1 . 1 Ġ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString ("") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 1 1 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" a . b . c ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertThrows ( RuntimeException :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsemantic Version Factory . create FromString (" 1 . 0 . 0 - ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }