< Summary

Class:Microsoft.Azure.Batch.TaskIdRange
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\TaskIdRange.cs
C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\TaskIdRange.cs
Covered lines:27
Uncovered lines:21
Coverable lines:48
Total lines:179
Line coverage:56.2% (27 of 48)
Covered branches:6
Total branches:12
Branch coverage:50% (6 of 12)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-100%100%
.ctor(...)-100%100%
get_End()-100%100%
get_Start()-100%100%
Microsoft.Azure.Batch.IModifiable.get_HasBeenModified()-0%100%
Microsoft.Azure.Batch.IReadOnly.get_IsReadOnly()-0%100%
Microsoft.Azure.Batch.IReadOnly.set_IsReadOnly(...)-100%100%
Microsoft.Azure.Batch.ITransportObjectProvider<Microsoft.Azure.Batch.Protocol.Models.TaskIdRange>.GetTransportObject()-100%100%
ConvertFromProtocolCollection(...)-0%100%
ConvertFromProtocolCollectionAndFreeze(...)-0%100%
ConvertFromProtocolCollectionReadOnly(...)-100%100%
.ctor(...)-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\TaskIdRange.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//
 4// Code generated by Microsoft (R) AutoRest Code Generator.
 5// Changes may cause incorrect behavior and will be lost if the code is
 6// regenerated.
 7
 8//
 9// This file was autogenerated by a tool.
 10// Do not modify it.
 11//
 12
 13namespace Microsoft.Azure.Batch
 14{
 15    using Models = Microsoft.Azure.Batch.Protocol.Models;
 16    using System;
 17    using System.Collections.Generic;
 18    using System.Linq;
 19
 20    /// <summary>
 11421    /// A range of task ids that a <see cref="CloudTask"/> depends on. All tasks with ids in the range must complete suc
 22    /// before the dependent task can be scheduled.
 11423    /// </summary>
 24    public partial class TaskIdRange : ITransportObjectProvider<Models.TaskIdRange>, IPropertyMetadata
 125    {
 26        #region Constructors
 27
 159228        internal TaskIdRange(Models.TaskIdRange protocolObject)
 29        {
 148030            this.End = protocolObject.End;
 147931            this.Start = protocolObject.Start;
 147932        }
 11233
 34        #endregion Constructors
 135
 36        #region TaskIdRange
 37
 11138        /// <summary>
 11139        /// Gets the last task id in the range.
 11140        /// </summary>
 41        /// <remarks>
 42        /// Ranges are inclusive. For example, if a task depends on a range with End 12, then task "12" must complete be
 43        /// the task can be scheduled.
 44        /// </remarks>
 203145        public int End { get; }
 46
 47        /// <summary>
 48        /// Gets the first task id in the range.
 49        /// </summary>
 50        /// <remarks>
 51        /// Ranges are inclusive. For example, if a task depends on a range with Start 8, then task "8" must complete be
 52        /// the task can be scheduled.
 53        /// </remarks>
 203154        public int Start { get; }
 55
 56        #endregion // TaskIdRange
 57
 58        #region IPropertyMetadata
 59
 60        bool IModifiable.HasBeenModified
 61        {
 62            //This class is compile time readonly so it cannot have been modified
 063            get { return false; }
 64        }
 65
 66        bool IReadOnly.IsReadOnly
 67        {
 068            get { return true; }
 69            set
 70            {
 71                // This class is compile time readonly already
 148072            }
 73        }
 74
 75        #endregion // IPropertyMetadata
 76
 77        #region Internal/private methods
 78
 79        /// <summary>
 80        /// Return a protocol object of the requested type.
 81        /// </summary>
 82        /// <returns>The protocol object of the requested type.</returns>
 83        Models.TaskIdRange ITransportObjectProvider<Models.TaskIdRange>.GetTransportObject()
 84        {
 45085            Models.TaskIdRange result = new Models.TaskIdRange()
 45086            {
 45087                End = this.End,
 45088                Start = this.Start,
 45089            };
 90
 45091            return result;
 92        }
 93
 94        /// <summary>
 95        /// Converts a collection of protocol layer objects to object layer collection objects.
 96        /// </summary>
 97        internal static IList<TaskIdRange> ConvertFromProtocolCollection(IEnumerable<Models.TaskIdRange> protoCollection
 98        {
 099            ConcurrentChangeTrackedModifiableList<TaskIdRange> converted = UtilitiesInternal.CollectionToThreadSafeColle
 0100                items: protoCollection,
 0101                objectCreationFunc: o => new TaskIdRange(o));
 102
 0103            return converted;
 104        }
 105
 106        /// <summary>
 107        /// Converts a collection of protocol layer objects to object layer collection objects, in a frozen state.
 108        /// </summary>
 109        internal static IList<TaskIdRange> ConvertFromProtocolCollectionAndFreeze(IEnumerable<Models.TaskIdRange> protoC
 110        {
 0111            ConcurrentChangeTrackedModifiableList<TaskIdRange> converted = UtilitiesInternal.CollectionToThreadSafeColle
 0112                items: protoCollection,
 0113                objectCreationFunc: o => new TaskIdRange(o).Freeze());
 114
 0115            converted = UtilitiesInternal.CreateObjectWithNullCheck(converted, o => o.Freeze());
 116
 0117            return converted;
 118        }
 119
 120        /// <summary>
 121        /// Converts a collection of protocol layer objects to object layer collection objects, with each object marked 
 122        /// and returned as a readonly collection.
 123        /// </summary>
 124        internal static IReadOnlyList<TaskIdRange> ConvertFromProtocolCollectionReadOnly(IEnumerable<Models.TaskIdRange>
 125        {
 656126            IReadOnlyList<TaskIdRange> converted =
 656127                UtilitiesInternal.CreateObjectWithNullCheck(
 656128                    UtilitiesInternal.CollectionToNonThreadSafeCollection(
 656129                        items: protoCollection,
 2475130                        objectCreationFunc: o => new TaskIdRange(o).Freeze()), o => o.AsReadOnly());
 131
 656132            return converted;
 133        }
 134
 135        #endregion // Internal/private methods
 136    }
 137}

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\TaskIdRange.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
 8    public partial class TaskIdRange
 9    {
 10        /// <summary>
 11        /// Initializes a new instance of the <see cref="TaskIdRange"/> class.
 12        /// </summary>
 13        /// <param name="start">The first task id in the range.</param>
 14        /// <param name="end">The last task id in the range.</param>
 15        /// <exception cref="ArgumentOutOfRangeException"><paramref name="start"/> or <paramref name="end"/> is negative
 16        /// <exception cref="ArgumentException"><paramref name="end"/> is less than <paramref name="start"/>.</exception
 17        /// <remarks>
 18        /// Ranges are inclusive. For example, if a task depends on a range with Start 8 and End 10, then tasks "8", "9"
 19        /// must complete before the task can be scheduled.
 20        /// </remarks>
 021        public TaskIdRange(int start, int end)
 22        {
 023            if (start < 0)
 24            {
 025                throw new ArgumentOutOfRangeException("start", BatchErrorMessages.TaskIdRangeCannotHaveNegativeStart);
 26            }
 27
 028            if (end < 0)
 29            {
 030                throw new ArgumentOutOfRangeException("end", BatchErrorMessages.TaskIdRangeCannotHaveNegativeEnd);
 31            }
 32
 033            if (start > end)
 34            {
 035                throw new ArgumentException(BatchErrorMessages.TaskIdRangeCannotHaveEndLessThanStart);
 36            }
 37
 038            this.Start = start;
 039            this.End = end;
 040        }
 41    }
 42}