Inheritance: System.Attribute
        public void EqualsReturnsFalseWhenFirstIsNullTest()
        {
            var tag = new SupportedTagAttribute(Guid.NewGuid().ToString());

            var target = new SupportedTagAttributeComparer();

            var actual = target.Equals(null, tag);

            actual.Should().BeFalse();
        }
        public void HasAttributeFilterReturnsFalseIfAttributeValueIsEmptyTest()
        {
            var tagValue = Guid.NewGuid().ToString();
            var attributeName = Guid.NewGuid().ToString();

            var target = new SupportedTagAttribute(tagValue, attributeName, string.Empty);

            var actual = target.HasAttributeFilter;

            actual.Should().BeFalse();
        }
        public void HasAttributeFilterReturnsFalseIfAttributeNameIsWhiteSpaceTest()
        {
            var tagName = Guid.NewGuid().ToString();
            var attributeValue = Guid.NewGuid().ToString();

            var target = new SupportedTagAttribute(tagName, "  ", attributeValue);

            var actual = target.HasAttributeFilter;

            actual.Should().BeFalse();
        }
        public void EqualsReturnsFalseWhenAttributeFilterDoesNotMatchTest()
        {
            var first = new SupportedTagAttribute(Guid.NewGuid().ToString());
            var second = new SupportedTagAttribute(first.TagName, Guid.NewGuid().ToString(), Guid.NewGuid().ToString());

            var target = new SupportedTagAttributeComparer();

            var actual = target.Equals(first, second);

            actual.Should().BeFalse();
        }
        public void ToStringReturnsTagRepresentationWithAttributeTest()
        {
            var target = new SupportedTagAttribute("test", "name", "Value");

            var actual = target.ToString();

            actual.Should().Be("<test name=\"Value\" />");
        }
        public void ToStringReturnsTagRepresentationTest()
        {
            var target = new SupportedTagAttribute("test");

            var actual = target.ToString();

            actual.Should().Be("<test />");
        }
        public void ReturnsConstructorValuesTest()
        {
            var tagName = Guid.NewGuid().ToString();
            var attributeName = Guid.NewGuid().ToString();
            var attributeValue = Guid.NewGuid().ToString();

            var target = new SupportedTagAttribute(tagName, attributeName, attributeValue);

            target.TagName.Should().Be(tagName);
            target.AttributeName.Should().Be(attributeName);
            target.AttributeValue.Should().Be(attributeValue);
        }
        public void HasAttributeFilterReturnsTrueIfAttributeIsDefinedTest()
        {
            var tagName = Guid.NewGuid().ToString();
            var attributeName = Guid.NewGuid().ToString();
            var attributeValue = Guid.NewGuid().ToString();

            var target = new SupportedTagAttribute(tagName, attributeName, attributeValue);

            var actual = target.HasAttributeFilter;

            actual.Should().BeTrue();
        }
        public void GetHashCodeReturnsSameValueForMatchingTagTest()
        {
            var first = new SupportedTagAttribute(Guid.NewGuid().ToString());
            var second = new SupportedTagAttribute(first.TagName);

            var target = new SupportedTagAttributeComparer();

            var firstCode = target.GetHashCode(first);
            var secondCode = target.GetHashCode(second);

            firstCode.Should().Be(secondCode);
        }
        public void GetHashCodeReturnsDifferentValueForMismatchedTagTest()
        {
            var first = new SupportedTagAttribute(Guid.NewGuid().ToString());
            var second = new SupportedTagAttribute(Guid.NewGuid().ToString());

            var target = new SupportedTagAttributeComparer();

            var firstCode = target.GetHashCode(first);
            var secondCode = target.GetHashCode(second);

            firstCode.Should().NotBe(secondCode);
        }
        public void EqualsReturnsTrueWhenTagsMatchWithoutAttributesTest()
        {
            var first = new SupportedTagAttribute(Guid.NewGuid().ToString());
            var second = new SupportedTagAttribute(first.TagName);

            var target = new SupportedTagAttributeComparer();

            var actual = target.Equals(first, second);

            actual.Should().BeTrue();
        }