< Summary

Class:Microsoft.Azure.Batch.PagedEnumerable`1
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\PagedEnumerable.cs
Covered lines:7
Uncovered lines:4
Coverable lines:11
Total lines:61
Line coverage:63.6% (7 of 11)
Covered branches:0
Total branches:0

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-0%100%
.ctor(...)-100%100%
System.Collections.IEnumerable.GetEnumerator()-0%100%
GetEnumerator()-100%100%
GetPagedEnumerator()-100%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\PagedEnumerable.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License. See License.txt in the project root for license information.
 3
 4namespace Microsoft.Azure.Batch
 5{
 6    using System;
 7    using System.Collections;
 8    using System.Collections.Generic;
 9    using System.Threading.Tasks;
 10
 11    /// <summary>
 12    /// Exposes synchronous and asynchronous enumerators based on async calls to server.
 13    /// </summary>
 14    internal class PagedEnumerable<EnumerationType> : IPagedEnumerable<EnumerationType>
 15    {
 16        private readonly NewEnumeratorFactory _enumeratorFactory;
 17
 18        #region //constructors
 19
 020        private PagedEnumerable()
 21        {
 022        }
 23
 4124        internal PagedEnumerable(NewEnumeratorFactory enumeratorFactory)
 25        {
 4126            _enumeratorFactory = enumeratorFactory;
 4127        }
 28
 29        #endregion // constructors
 30
 31        // this factory is called on every call to "GetEnumerator()"
 32        // it returns the derived class that implements the specific
 33        // protocol calls to traverse the collection
 34        internal delegate PagedEnumeratorBase<EnumerationType> NewEnumeratorFactory();
 35
 36
 37        // IEnumerable
 38        IEnumerator System.Collections.IEnumerable.GetEnumerator()
 39        {
 040            PagedEnumeratorBase<EnumerationType> newEnumerator = _enumeratorFactory();
 41
 042            return newEnumerator;
 43        }
 44
 45        // IEnumerable<T>
 46        public IEnumerator<EnumerationType> GetEnumerator()
 47        {
 1348            PagedEnumeratorBase<EnumerationType> newEnumerator = _enumeratorFactory();
 49
 1350            return newEnumerator;
 51        }
 52
 53        // IPagedEnumerable
 54        public IPagedEnumerator<EnumerationType> GetPagedEnumerator()
 55        {
 2756            PagedEnumeratorBase<EnumerationType> newEnumerator = _enumeratorFactory();
 57
 2758            return newEnumerator;
 59        }
 60    }
 61}