< Summary

Class:Microsoft.Azure.Batch.TaskDependencies
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\TaskDependencies.cs
C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\TaskDependencies.cs
Covered lines:24
Uncovered lines:16
Coverable lines:40
Total lines:188
Line coverage:60% (24 of 40)
Covered branches:4
Total branches:8
Branch coverage:50% (4 of 8)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
OnIdRange(...)-100%100%
.ctor(...)-100%100%
.ctor(...)-100%100%
get_TaskIdRanges()-100%100%
OnId(...)-100%100%
get_TaskIds()-100%100%
OnIds(...)-100%100%
Microsoft.Azure.Batch.IModifiable.get_HasBeenModified()-0%100%
Microsoft.Azure.Batch.IReadOnly.get_IsReadOnly()-0%100%
OnIds(...)-100%100%
Microsoft.Azure.Batch.IReadOnly.set_IsReadOnly(...)-100%100%
OnTasks(...)-100%100%
Microsoft.Azure.Batch.ITransportObjectProvider<Microsoft.Azure.Batch.Protocol.Models.TaskDependencies>.GetTransportObject()-100%100%
OnTasks(...)-100%100%
.ctor(...)-0%0%
OnId(...)-0%100%
OnIds(...)-0%100%
OnIds(...)-0%100%
OnTasks(...)-0%100%
OnTasks(...)-0%100%
OnIdRange(...)-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\Generated\TaskDependencies.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
 1920    /// <summary>
 21    /// Specifies any dependencies of a task. Any task that is explicitly specified or within a dependency range must co
 1922    /// before the dependant task will be scheduled.
 23    /// </summary>
 424    public partial class TaskDependencies : ITransportObjectProvider<Models.TaskDependencies>, IPropertyMetadata
 25    {
 26        #region Constructors
 1927
 65628        internal TaskDependencies(Models.TaskDependencies protocolObject)
 1129        {
 65630            this.TaskIdRanges = TaskIdRange.ConvertFromProtocolCollectionReadOnly(protocolObject.TaskIdRanges);
 98131            this.TaskIds = UtilitiesInternal.CreateObjectWithNullCheck(protocolObject.TaskIds, o => o.ToList().AsReadOnl
 67532        }
 1933
 1934        #endregion Constructors
 35
 36        #region TaskDependencies
 37
 38        /// <summary>
 39        /// Gets the list of task IDs that this task depends on. All tasks in this list must complete successfully befor
 40        /// the dependent task can be scheduled.
 41        /// </summary>
 82542        public IReadOnlyList<TaskIdRange> TaskIdRanges { get; }
 243
 44        /// <summary>
 45        /// Gets the list of task ID ranges that this task depends on. All tasks in all ranges must complete successfull
 46        /// before the dependent task can be scheduled.
 47        /// </summary>
 83548        public IReadOnlyList<string> TaskIds { get; }
 49
 50        #endregion // TaskDependencies
 51
 52        #region IPropertyMetadata
 153
 54        bool IModifiable.HasBeenModified
 55        {
 56            //This class is compile time readonly so it cannot have been modified
 057            get { return false; }
 58        }
 59
 60        bool IReadOnly.IsReadOnly
 61        {
 062            get { return true; }
 263            set
 64            {
 65                // This class is compile time readonly already
 51366            }
 67        }
 68
 69        #endregion // IPropertyMetadata
 70
 71        #region Internal/private methods
 72
 573        /// <summary>
 74        /// Return a protocol object of the requested type.
 75        /// </summary>
 76        /// <returns>The protocol object of the requested type.</returns>
 77        Models.TaskDependencies ITransportObjectProvider<Models.TaskDependencies>.GetTransportObject()
 78        {
 15279            Models.TaskDependencies result = new Models.TaskDependencies()
 15280            {
 15281                TaskIdRanges = UtilitiesInternal.ConvertToProtocolCollection(this.TaskIdRanges),
 23482                TaskIds = UtilitiesInternal.CreateObjectWithNullCheck(this.TaskIds, o => o.ToList()),
 16183            };
 84
 15285            return result;
 86        }
 87
 88
 89        #endregion // Internal/private methods
 90    }
 91}

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\TaskDependencies.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.Collections.Generic;
 7    using System.Linq;
 8
 9    public partial class TaskDependencies
 10    {
 11        /// <summary>
 12        /// Initializes a new instance of the <see cref="TaskDependencies"/> class.
 13        /// </summary>
 14        /// <param name="taskIds">The list of task ids that must complete before this task can be scheduled. null is tre
 15        /// <param name="taskIdRanges">The list of task ranges that must complete before this task can be scheduled. nul
 16        /// <remarks>This constructor provides the most general way of initializing a TaskDependencies object.
 17        /// In practice, most dependencies are on a single task, a list of task ids, or a single range of
 18        /// tasks. You can express these dependencies more clearly using <see cref="OnId"/>, <see cref="OnIds(string[])"
 19        /// <see cref="OnTasks(CloudTask[])"/>, and <see cref="OnIdRange"/> methods.</remarks>
 020        public TaskDependencies(IEnumerable<string> taskIds, IEnumerable<TaskIdRange> taskIdRanges)
 21        {
 022            if (taskIds == null)
 23            {
 024                taskIds = Enumerable.Empty<string>();
 25            }
 26
 027            if (taskIdRanges == null)
 28            {
 029                taskIdRanges = Enumerable.Empty<TaskIdRange>();
 30            }
 31
 032            this.TaskIds = new List<string>(taskIds).AsReadOnly();
 033            this.TaskIdRanges = new List<TaskIdRange>(taskIdRanges).AsReadOnly();
 034        }
 35
 36        /// <summary>
 37        /// Gets a <see cref="TaskDependencies"/> representing dependency on a single task.
 38        /// </summary>
 39        /// <param name="id">The task to depend on.</param>
 40        /// <returns>A <see cref="TaskDependencies"/> representing dependency on a single task.</returns>
 41        public static TaskDependencies OnId(string id)
 42        {
 043            return new TaskDependencies(new[] { id }, null);
 44        }
 45
 46        /// <summary>
 47        /// Gets a <see cref="TaskDependencies"/> representing dependency on a list of task ids.
 48        /// </summary>
 49        /// <param name="ids">The tasks to depend on.</param>
 50        /// <returns>A <see cref="TaskDependencies"/> representing dependency on the specified tasks.</returns>
 51        public static TaskDependencies OnIds(IEnumerable<string> ids)
 52        {
 053            return new TaskDependencies(ids, null);
 54        }
 55
 56        /// <summary>
 57        /// Gets a <see cref="TaskDependencies"/> representing dependency on a list of task ids.
 58        /// </summary>
 59        /// <param name="ids">The tasks to depend on.</param>
 60        /// <returns>A <see cref="TaskDependencies"/> representing dependency on the specified tasks.</returns>
 61        public static TaskDependencies OnIds(params string[] ids)
 62        {
 063            return new TaskDependencies(ids, null);
 64        }
 65
 66        /// <summary>
 67        /// Gets a <see cref="TaskDependencies"/> representing dependency on a list of tasks.
 68        /// </summary>
 69        /// <param name="tasks">The tasks to depend on.</param>
 70        /// <returns>A <see cref="TaskDependencies"/> representing dependency on the specified tasks.</returns>
 71        public static TaskDependencies OnTasks(IEnumerable<CloudTask> tasks)
 72        {
 073            return new TaskDependencies(tasks.Select(t => t.Id), null);
 74        }
 75
 76        /// <summary>
 77        /// Gets a <see cref="TaskDependencies"/> representing dependency on a list of tasks.
 78        /// </summary>
 79        /// <param name="tasks">The tasks to depend on.</param>
 80        /// <returns>A <see cref="TaskDependencies"/> representing dependency on the specified tasks.</returns>
 81        public static TaskDependencies OnTasks(params CloudTask[] tasks)
 82        {
 083            return new TaskDependencies(tasks.Select(t => t.Id), null);
 84        }
 85
 86        /// <summary>
 87        /// Gets a <see cref="TaskDependencies"/> representing dependency on a range of task ids.
 88        /// </summary>
 89        /// <param name="start">The first task id in the range to depend on.</param>
 90        /// <param name="end">The last task id in the range to depend on.</param>
 91        /// <returns>A <see cref="TaskDependencies"/> representing dependency on the specified range of tasks.</returns>
 92        public static TaskDependencies OnIdRange(int start, int end)
 93        {
 094            return new TaskDependencies(null, new[] { new TaskIdRange(start, end) });
 95        }
 96    }
 97}