public void CreateInstance_StringDetailsNull_Throws()
        {
            // Arrange
            var memberNameDetails = new MarkupExtensionTokenDetails("A", false);

            // Act
            new MarkupExtensionArgumentInfo("Member", memberNameDetails, "String", null);

            // Assert
        }
Пример #2
0
        public void CreateInstance_IsQuotedParameter_IsAssignedToProperty()
        {
            // Arrange

            // Act
            var target = new MarkupExtensionTokenDetails(string.Empty, true);

            // Assert
            Assert.AreEqual(true, target.IsQuoted);
        }
Пример #3
0
        public void CreateInstance_OriginalValueParameter_IsAssignedToProperty()
        {
            // Arrange

            // Act
            var target = new MarkupExtensionTokenDetails("Original", false);

            // Assert
            Assert.AreEqual("Original", target.OriginalValue);
        }
        public void CreateInstance_IsNotNested_WhenStringIsString()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails(string.Empty, true);

            // Act
            var target = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails);

            // Assert
            Assert.IsFalse(target.IsNested);
        }
        public void CreateInstance_IsNotEmpty_WhenStringNotEmpty()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails(".", true);

            // Act
            var target = new MarkupExtensionArgumentInfo(null, null, ".", stringDetails);

            // Assert
            Assert.IsFalse(target.IsEmpty);
        }
        public void CreateInstance_IsEmpty_WhenEmpty()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails(string.Empty, false);

            // Act
            var target = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails);

            // Assert
            Assert.IsTrue(target.IsEmpty);
        }
        public void CreateInstance_MemberNameParameterNull_Positional()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails("B", false);

            // Act
            var target = new MarkupExtensionArgumentInfo(null, null, "String", stringDetails);

            // Assert
            Assert.AreEqual(MarkupExtensionArgumentType.Positional, target.ArgumentType);
        }
        public void CreateInstance_MemberNameDetailsParameter_CanBeNull()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails("B", false);

            // Act
            var target = new MarkupExtensionArgumentInfo("Member", null, "String", stringDetails);

            // Assert
            Assert.IsNull(target.MemberNameDetails);
        }
        public void CreateInstance_IsNotEmpty_Nested()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails("{A}", true);

            // Act
            var target = new MarkupExtensionArgumentInfo(
                null, null, new MarkupExtensionInfo("A", new IMarkupExtensionArgumentInfo[0]), stringDetails);

            // Assert
            Assert.IsFalse(target.IsEmpty);
        }
        public void CreateInstance_IsNotEmpty_WhenNamed()
        {
            // Arrange
            var memberNameDetails = new MarkupExtensionTokenDetails(".", true);
            var stringDetails     = new MarkupExtensionTokenDetails(string.Empty, true);

            // Act
            var target = new MarkupExtensionArgumentInfo("Member", memberNameDetails, string.Empty, stringDetails);

            // Assert
            Assert.IsFalse(target.IsEmpty);
        }
        public void CreateInstance_MemberNameParameterNotNull_Named()
        {
            // Arrange
            var memberNameDetails = new MarkupExtensionTokenDetails("A", false);
            var stringDetails     = new MarkupExtensionTokenDetails("B", false);

            // Act
            var target = new MarkupExtensionArgumentInfo("Member", memberNameDetails, "String", stringDetails);

            // Assert
            Assert.AreEqual(MarkupExtensionArgumentType.Named, target.ArgumentType);
        }
        public void CreateInstance_IsNotNested_WhenStringIsMarkupExtension()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails("{A}", true);

            // Act
            var target = new MarkupExtensionArgumentInfo(
                null, null, new MarkupExtensionInfo("A", new IMarkupExtensionArgumentInfo[0]), stringDetails);

            // Assert
            Assert.IsTrue(target.IsNested);
        }
        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 CreateInstance_Parameters_AreAssignedToProperties()
        {
            // Arrange
            var memberNameDetails = new MarkupExtensionTokenDetails("A", false);
            var stringDetails     = new MarkupExtensionTokenDetails("B", false);

            // Act
            var target = new MarkupExtensionArgumentInfo("Member", memberNameDetails, "String", stringDetails);

            // Assert
            Assert.AreEqual("Member", target.MemberNameValue);
            Assert.AreEqual(memberNameDetails, target.MemberNameDetails);
            Assert.AreEqual("String", target.StringValue);
            Assert.AreEqual(stringDetails, target.StringDetails);
        }
        public void Equals_ToSame_Equal()
        {
            // Arrange
            var stringDetails = new MarkupExtensionTokenDetails(string.Empty, true);
            var @this         = new MarkupExtensionArgumentInfo(null, null, string.Empty, stringDetails);

            // Act
// ReSharper disable EqualExpressionComparison
            var equal = @this.Equals(@this);

// ReSharper restore EqualExpressionComparison

            // Assert
            Assert.IsTrue(equal);
        }
        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);
        }
        public void Equals_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
            // ReSharper disable EqualExpressionComparison
            var equal = @this.Equals(other);

            // ReSharper restore EqualExpressionComparison

            // Assert
            Assert.IsTrue(equal);
        }
        public void Equals_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
            // ReSharper disable EqualExpressionComparison
            var equal = @this.Equals(other);

            // ReSharper restore EqualExpressionComparison

            // Assert
            Assert.IsFalse(equal);
        }