< Summary

Class:DCL.Tasks.CancellationTokenExtensions
Assembly:TaskHelpers
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/Tasks/CancellationTokenExtensions.cs
Covered lines:14
Uncovered lines:4
Coverable lines:18
Total lines:52
Line coverage:77.7% (14 of 18)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
SafeRestart(...)0%3.333066.67%
SafeRestartLinked(...)0%3.333066.67%
SafeCancelAndDispose(...)0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Helpers/Tasks/CancellationTokenExtensions.cs

#LineLine coverage
 1using System;
 2using System.Threading;
 3
 4namespace DCL.Tasks
 5{
 6    public static class CancellationTokenExtensions
 7    {
 8        public static CancellationTokenSource SafeRestart(this CancellationTokenSource cancellationToken)
 9        {
 10            try
 11            {
 8712                cancellationToken?.Cancel();
 8713                cancellationToken?.Dispose();
 8714            }
 015            catch (ObjectDisposedException)
 16            {
 17                // ignore
 018            }
 19
 8720            return new CancellationTokenSource();
 21        }
 22
 23        public static CancellationTokenSource SafeRestartLinked(this CancellationTokenSource cancellationToken,
 24            params CancellationToken[] cancellationTokens)
 25        {
 26            try
 27            {
 628                cancellationToken?.Cancel();
 629                cancellationToken?.Dispose();
 630            }
 031            catch (ObjectDisposedException)
 32            {
 33                // ignore
 034            }
 35
 636            return CancellationTokenSource.CreateLinkedTokenSource(cancellationTokens);
 37        }
 38
 39        public static void SafeCancelAndDispose(this CancellationTokenSource cancellationToken)
 40        {
 41            try
 42            {
 7543                cancellationToken?.Cancel();
 7244                cancellationToken?.Dispose();
 7245            }
 346            catch (ObjectDisposedException)
 47            {
 48                // ignore
 349            }
 7550        }
 51    }
 52}