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_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_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); }
/// <summary> /// Adds a named argument to the current level. /// </summary> /// <param name="memberName"> /// The member name of the argument. /// </param> /// <param name="string"> /// The string value of the argument. /// </param> /// <param name="isQuoted"> /// A value indicating whether the string is quoted. /// </param> /// <returns> /// An object that allows further configuration of the markup extension. /// </returns> public MarkupExensionInfoBuilder AddArgument(string memberName, object @string, bool isQuoted) { var argument = new MarkupExtensionArgumentInfo( memberName, new MarkupExtensionTokenDetails(string.Empty, false), @string, new MarkupExtensionTokenDetails(string.Empty, isQuoted)); this.trail.Peek().Item2.Add(argument); return(this); }
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 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 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_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); }