public void PendingIncrements_StackCorrectly(string startVer, string pattern, string secondPattern, string endVer)
        {
            b.Info.Flow();
            // Multi patterns dont really stack, just partially replace

            CompleteVersion cv = new CompleteVersion(startVer);

            cv.ApplyPendingVersion(pattern);
            cv.ApplyPendingVersion(secondPattern);
            cv.Increment();

            Assert.Equal(endVer, cv.ToString());
        }
        public void PendingIncrementPatterns_Work(string startVer, string pattern, string endVer)
        {
            b.Info.Flow();

            CompleteVersion cv = new CompleteVersion(startVer);

            cv.ApplyPendingVersion(pattern);
            cv.Increment();

            Assert.Equal(endVer, cv.ToString());
        }
        public void PendingIncrement_IsAppliedCorrectly(string startVer, string pattern, string d1Expected, string d2Expected, string d3Expected, string d4Expected)
        {
            b.Info.Flow();

            CompleteVersion cv = new CompleteVersion(startVer);

            cv.ApplyPendingVersion(pattern);

            Assert.Equal(d1Expected, cv.Digits[0].IncrementOverride);
            Assert.Equal(d2Expected, cv.Digits[1].IncrementOverride);
            Assert.Equal(d3Expected, cv.Digits[2].IncrementOverride);
            Assert.Equal(d4Expected, cv.Digits[3].IncrementOverride);
        }
        public void PendingIncrement_IsRemovedCorrectly(string startVer, string pattern)
        {
            b.Info.Flow();

            CompleteVersion cv = new CompleteVersion(startVer);

            cv.ApplyPendingVersion(pattern);
            cv.Increment();

            Assert.Equal(null, cv.Digits[0].IncrementOverride);
            Assert.Equal(null, cv.Digits[1].IncrementOverride);
            Assert.Equal(null, cv.Digits[2].IncrementOverride);
            Assert.Equal(null, cv.Digits[3].IncrementOverride);
        }