Esempio n. 1
0
        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);
            }
        }