public static SemanticVersion IncrementPatchVersion(this SemanticVersion version)
 {
     if (version.IsPrerelease)
     {
         var prereleaseIdentifier = PrereleaseIdentifier.Parse(version);
         return(version.IncrementPrerelease(prereleaseIdentifier.Label));
     }
     else
     {
         return(new SemanticVersion(version.Major, version.Minor, version.Patch + 1));
     }
 }
    public static SemanticVersion IncrementPrerelease(this SemanticVersion version, string newPrereleaseLabel)
    {
        var prereleaseIdentifier = PrereleaseIdentifier.Parse(version);

        return(new SemanticVersion(version.Major, version.Minor, version.Patch, prereleaseIdentifier.ApplyLabel(newPrereleaseLabel).BuildPrereleaseLabels(), null));
    }
 public void ShouldThrowForPreReleaseIdentifierWithoutNumericNumber()
 {
     Should.Throw <InvalidPrereleaseIdentifierException>(() => PrereleaseIdentifier.Parse(SemanticVersion.Parse("2.0.0-alpha.a")));
 }