private void ExecuteMVTestAdd(AttributeType type, IList <object> initialValues, IList <object> testValues, IList <object> expectedValues) { AttributeTypeDefinition attribute = new AttributeTypeDefinition("test", type, true, false, false); AttributeValue value = new AttributeValue(attribute, initialValues); foreach (object testValue in testValues) { value.AddValue(testValue); } Assert.IsTrue(comparer.Equals(value.Value, expectedValues)); List <AttributeValueChange> expectedChanges = new List <AttributeValueChange>(); foreach (object testValue in testValues) { expectedChanges.Add(new AttributeValueChange(ModeType.Insert, testValue)); } Assert.AreEqual(expectedChanges.Count, value.ValueChanges.Count); foreach (AttributeValueChange expectedChange in expectedChanges) { if (!value.ValueChanges.Any(t => t.ChangeType == expectedChange.ChangeType && comparer.Equals(t.Value, expectedChange.Value))) { Assert.Fail("The expectedXpath change was not found: {0}:{1}", expectedChange.ChangeType, expectedChange.Value); } } }
private void ExecuteSVTestAdd(AttributeType type, object initialValue, object testValue, object expectedValue, ModeType changeType) { AttributeTypeDefinition attribute = new AttributeTypeDefinition("test", type, false, false, false); AttributeValue value = new AttributeValue(attribute, initialValue); value.AddValue(testValue); if (testValue is byte[]) { CollectionAssert.AreEqual((byte[])(expectedValue), (byte[])value.Value); } else { Assert.AreEqual(expectedValue, value.Value); } Assert.AreEqual(1, value.ValueChanges.Count); AttributeValueChange change = value.ValueChanges.First(); Assert.AreEqual(changeType, change.ChangeType); if (testValue is byte[]) { CollectionAssert.AreEqual((byte[])(expectedValue), (byte[])change.Value); } else { Assert.AreEqual(expectedValue, change.Value); } }