public void CalculateChangeThrowsExceptionWhenOldValueNotStored()
        {
            var sut = new Wrapper();

            Action action = () => sut.CalculateChange(AccessModifiers.Public, AccessModifiers.Internal);

            action.Should().Throw <InvalidOperationException>();
        }
        public void CalculateChangeReturnsNoneWhenMatchingValuesProvided()
        {
            var sut = new Wrapper();

            var expected = sut.CalculateChange(AccessModifiers.Public, AccessModifiers.Public);

            expected.Should().Be(SemVerChangeType.None);
        }
        public void CalculateChangeThrowsExceptionWhenNewValueNotStored()
        {
            var sut = new Wrapper();

            sut.StoreChange(AccessModifiers.Public, AccessModifiers.Internal, SemVerChangeType.Breaking);

            Action action = () => sut.CalculateChange(AccessModifiers.Public, AccessModifiers.Private);

            action.Should().Throw <InvalidOperationException>();
        }
        public void CalculateChangeReturnsStoredChange()
        {
            var sut = new Wrapper();

            sut.StoreChange(AccessModifiers.Public, AccessModifiers.Internal, SemVerChangeType.Breaking);

            var expected = sut.CalculateChange(AccessModifiers.Public, AccessModifiers.Internal);

            expected.Should().Be(SemVerChangeType.Breaking);
        }