< Summary

Class:Kemocade.Vrc.Data.Extensions.DataListExtensions
Assembly:Kemocade.Vrc.Data.Extensions
File(s):File 1: /github/workspace/TestProject/Assets/com.kemocade.vrc.data.extensions/Runtime/DataListExtensions/CastArray.cs
File 2: /github/workspace/TestProject/Assets/com.kemocade.vrc.data.extensions/Runtime/DataListExtensions/TryCastArray.cs
Covered lines:12
Uncovered lines:0
Coverable lines:12
Total lines:36
Line coverage:100% (12 of 12)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:2
Method coverage:100% (2 of 2)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
File 1: CastArray[T](...)0%000100%
File 2: TryCastArray[T](...)0%000100%

File(s)

/github/workspace/TestProject/Assets/com.kemocade.vrc.data.extensions/Runtime/DataListExtensions/CastArray.cs

#LineLine coverage
 1using VRC.SDK3.Data;
 2using static Kemocade.Vrc.Data.Extensions.Shared;
 3
 4namespace Kemocade.Vrc.Data.Extensions
 5{
 6    public static partial class DataListExtensions
 7    {
 8        // TODO: special error message if passed in non-array type (use Cast instead!)
 9        // If the cast fails, force an exception
 10        public static T[] CastArray<T>(this DataList input) =>
 211            input.TryCastArray(out T[] result) ?
 12            result : ForceException<T[]>();
 13    }
 14}

/github/workspace/TestProject/Assets/com.kemocade.vrc.data.extensions/Runtime/DataListExtensions/TryCastArray.cs

#LineLine coverage
 1using VRC.SDK3.Data;
 2
 3namespace Kemocade.Vrc.Data.Extensions
 4{
 5    public static partial class DataListExtensions
 6    {
 7        public static bool TryCastArray<T>(this DataList root, out T[] result)
 608        {
 609            result = default;
 10
 6011            T[] temp = new T[root.Count];
 43612            for (int i = 0; i < root.Count; i++)
 16013            {
 16414                if (!root[i].TryCast(out T next)) { return false; }
 15815                temp[i] = next;
 15816            }
 5817            result = temp;
 18
 5819            return true;
 6020        }
 21    }
 22}