< Summary

Information
Class: Ice.Internal.Util
Assembly: Ice
File(s): /_/csharp/src/Ice/Internal/Util.cs
Tag: 125_37167941578
Line coverage
75%
Covered lines: 12
Uncovered lines: 4
Coverable lines: 16
Total lines: 29
Line coverage: 75%
Branch coverage
71%
Covered branches: 10
Total branches: 14
Branch coverage: 71.4%
Method coverage
100%
Covered methods: 2
Fully covered methods: 1
Total methods: 2
Method coverage: 100%
Full method coverage: 50%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
getInstance(...)100%11100%
getThreadPriorityProperty(...)71.43%181473.33%

File(s)

/_/csharp/src/Ice/Internal/Util.cs

#LineLine coverage
 1// Copyright (c) ZeroC, Inc.
 2
 3namespace Ice.Internal;
 4
 5public sealed class Util
 6{
 17    public static Instance getInstance(Ice.Communicator communicator) => communicator.instance;
 8
 9    public static ThreadPriority getThreadPriorityProperty(Ice.Properties properties, string prefix)
 10    {
 111        string propertyName = prefix + ".ThreadPriority";
 112        string s = properties.getProperty(propertyName);
 113        if (string.IsNullOrEmpty(s))
 14        {
 115            return ThreadPriority.Normal;
 16        }
 117        string value = s.StartsWith("ThreadPriority.", StringComparison.Ordinal) ?
 118            s["ThreadPriority.".Length..] : s;
 119        return value switch
 120        {
 021            "Lowest" => ThreadPriority.Lowest,
 022            "BelowNormal" => ThreadPriority.BelowNormal,
 023            "Normal" => ThreadPriority.Normal,
 124            "AboveNormal" => ThreadPriority.AboveNormal,
 025            "Highest" => ThreadPriority.Highest,
 126            _ => throw new PropertyException($"property '{propertyName}' has an invalid value: '{s}'"),
 127        };
 28    }
 29}