예제 #1
0
        private static void CompareCollectionItems(IEnumerable <IEdmDelayedValue> edmItems, IEnumerable odataItems, AssertionHandler assert)
        {
            using (IEnumerator <IEdmDelayedValue> edmEnumerator = edmItems.GetEnumerator())
                using (IEnumerator <object> odataEnumerator = odataItems.Cast <object>().GetEnumerator())
                {
                    while (odataEnumerator.MoveNext())
                    {
                        assert.IsTrue(edmEnumerator.MoveNext(), "Expected more EDM items.");
                        CompareValue(edmEnumerator.Current.Value, odataEnumerator.Current, assert);
                    }

                    assert.IsFalse(edmEnumerator.MoveNext(), "Expected no more EDM items.");
                }
        }
예제 #2
0
        private static void CompareProperties(IEnumerable <IEdmPropertyValue> edmProperties, IEnumerable <ODataProperty> odataProperties, AssertionHandler assert)
        {
            using (IEnumerator <IEdmPropertyValue> edmEnumerator = edmProperties.GetEnumerator())
                using (IEnumerator <ODataProperty> odataEnumerator = odataProperties.GetEnumerator())
                {
                    while (odataEnumerator.MoveNext())
                    {
                        assert.IsTrue(edmEnumerator.MoveNext(), "Expected more EDM properties.");
                        CompareProperty(edmEnumerator.Current, odataEnumerator.Current, assert);
                    }

                    assert.IsFalse(edmEnumerator.MoveNext(), "Expected no more EDM properties.");
                }
        }
예제 #3
0
        public static void VerifyEnumerationsAreEqual <T>(
            IEnumerable <T> expectedEnumeration,
            IEnumerable <T> actualEnumeration,
            Action <T, T, AssertionHandler> verifyItem,
            Func <T, string> itemToDebugString,
            AssertionHandler assert)
        {
            if (expectedEnumeration == null)
            {
                assert.IsNull(actualEnumeration, "The enumeration of items should have been null.");
                return;
            }
            else
            {
                assert.IsNotNull(actualEnumeration, "The enumeration of items should not have been null.");
            }

            try
            {
                var expectedEnumerator = expectedEnumeration.GetEnumerator();
                var actualEnumerator   = actualEnumeration.GetEnumerator();
                while (expectedEnumerator.MoveNext())
                {
                    assert.IsTrue(
                        actualEnumerator.MoveNext(),
                        "The actual enumeration has less items than the expected enumeration.\r\n" +
                        "Expected items: " + string.Join(", ", expectedEnumeration.Select(t => "<" + itemToDebugString(t) + ">")) + "\r\n" +
                        "Actual items: " + string.Join(", ", actualEnumeration.Select(t => "<" + itemToDebugString(t) + ">")));
                    verifyItem(expectedEnumerator.Current, actualEnumerator.Current, assert);
                }

                assert.IsFalse(
                    actualEnumerator.MoveNext(),
                    "The expected enumeration has less items than the actual enumeration.\r\n" +
                    "Expected items: " + string.Join(", ", expectedEnumeration.Select(t => "<" + itemToDebugString(t) + ">")) + "\r\n" +
                    "Actual items: " + string.Join(", ", actualEnumeration.Select(t => "<" + itemToDebugString(t) + ">")));
            }
            catch (Exception)
            {
                assert.Warn("Expected items: " + string.Join(", ", expectedEnumeration.Select(t => "<" + itemToDebugString(t) + ">")));
                assert.Warn("Actual items: " + string.Join(", ", actualEnumeration.Select(t => "<" + itemToDebugString(t) + ">")));
                throw;
            }
        }
예제 #4
0
        private static void CompareCollectionItems(IEnumerable<IEdmDelayedValue> edmItems, IEnumerable odataItems, AssertionHandler assert)
        {
            using (IEnumerator<IEdmDelayedValue> edmEnumerator = edmItems.GetEnumerator())
            using (IEnumerator<object> odataEnumerator = odataItems.Cast<object>().GetEnumerator())
            {
                while (odataEnumerator.MoveNext())
                {
                    assert.IsTrue(edmEnumerator.MoveNext(), "Expected more EDM items.");
                    CompareValue(edmEnumerator.Current.Value, odataEnumerator.Current, assert);
                }

                assert.IsFalse(edmEnumerator.MoveNext(), "Expected no more EDM items.");
            }
        }
예제 #5
0
        private static void CompareProperties(IEnumerable<IEdmPropertyValue> edmProperties, IEnumerable<ODataProperty> odataProperties, AssertionHandler assert)
        {
            using (IEnumerator<IEdmPropertyValue> edmEnumerator = edmProperties.GetEnumerator())
            using (IEnumerator<ODataProperty> odataEnumerator = odataProperties.GetEnumerator())
            {
                while (odataEnumerator.MoveNext())
                {
                    assert.IsTrue(edmEnumerator.MoveNext(), "Expected more EDM properties.");
                    CompareProperty(edmEnumerator.Current, odataEnumerator.Current, assert);
                }

                assert.IsFalse(edmEnumerator.MoveNext(), "Expected no more EDM properties.");
            }
        }