public void Padded_WhenSet_SetsCorrectly(bool usePadding)
        {
            // Arrange / Act
            var sut = new HeightTokenRule(usePadding);

            // Assert
            sut.Padded.Should().Be(usePadding);
        }
        public void Padded_ByDefault_IsFalse()
        {
            // Arrange / Act
            var sut = new HeightTokenRule();

            // Assert
            sut.Padded.Should().BeFalse();
        }
        public void Token_Is_Asterisk()
        {
            // Arrange / Act
            var sut = new HeightTokenRule();

            // Assert
            sut.Token.Should().Be("*");
        }
        public void Apply_Appends_IfRequired(string version, IEnumerable <string> input, IEnumerable <string> expected)
        {
            // Arrange
            var sut     = new HeightTokenRule();
            var context = new MockVersionContext
            {
                Configuration =
                {
                    Version = version
                }
            };

            // Act
            var result = sut.Apply(context, input);

            // Assert
            result.Should().BeEquivalentTo(expected, options => options.WithStrictOrdering());
        }
        public void Resolve_ReplacesToken_IfNeeded(bool usePadding, int height, string input, string expected)
        {
            // Arrange
            var sut     = new HeightTokenRule(usePadding);
            var context = new MockVersionContext
            {
                Result =
                {
                    Height = height
                }
            };

            // Act
            var result = sut.Resolve(context, input);

            // Assert
            result.Should().Be(expected);
        }
        public void Resolve_ReplacesToken_IfNeeded(bool usePadding, int height, string input, string expected)
        {
            // Arrange
            var sut = new HeightTokenRule(usePadding);

            using (var fixture = new EmptyRepositoryFixture())
            {
                var context = new VersionContext(fixture.Repository)
                {
                    Result =
                    {
                        Height = height
                    }
                };

                // Act
                var result = sut.Resolve(context, input);

                // Assert
                result.Should().Be(expected);
            }
        }