public void GetHashCode_ToSame_Equal()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails(string.Empty, true);
            var @this         = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails);

            // Act
            var hash1 = @this.GetHashCode();
            var hash2 = @this.GetHashCode();

            // Assert
            Assert.AreEqual(hash1, hash2);
        }
        public void GetHashCode_ToIdenticalDifferentStringDetails_Equal()
        {
            // Arrange
            var stringDetails1 = new MarkupExtensionTokenDetails(string.Empty, true);
            var stringDetails2 = new MarkupExtensionTokenDetails(string.Empty, true);
            var @this          = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails1);
            var other          = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails2);

            // Act
            var hash1 = @this.GetHashCode();
            var hash2 = other.GetHashCode();

            // Assert
            Assert.AreEqual(hash1, hash2);
        }
        public void GetHashCode_DifferentQuotedString_Unequal()
        {
            // Arrange
            var stringDetails1     = new MarkupExtensionTokenDetails("String", true);
            var stringDetails2     = new MarkupExtensionTokenDetails("String", false);
            var memberNameDetails1 = new MarkupExtensionTokenDetails("Member", false);
            var memberNameDetails2 = new MarkupExtensionTokenDetails("Member", false);
            var @this = new MarkupExtensionArgumentInfo("Member", memberNameDetails1, "String", stringDetails1);
            var other = new MarkupExtensionArgumentInfo("Member", memberNameDetails2, "String", stringDetails2);

            // Act
            var hash1 = @this.GetHashCode();
            var hash2 = other.GetHashCode();

            // Assert
            Assert.AreNotEqual(hash1, hash2);
        }
        public void GetHashCode_ToIdenticalWithMemberName_Equal()
        {
            // Arrange
            var stringDetails1     = new MarkupExtensionTokenDetails("String", false);
            var stringDetails2     = new MarkupExtensionTokenDetails("String", false);
            var memberNameDetails1 = new MarkupExtensionTokenDetails("Member", false);
            var memberNameDetails2 = new MarkupExtensionTokenDetails("Member", false);
            var @this = new MarkupExtensionArgumentInfo("Member", memberNameDetails1, "String", stringDetails1);
            var other = new MarkupExtensionArgumentInfo("Member", memberNameDetails2, "String", stringDetails2);

            // Act
            var hash1 = @this.GetHashCode();
            var hash2 = other.GetHashCode();

            // Assert
            Assert.AreEqual(hash1, hash2);
        }