< Summary

Information
Class: OzonDomains.Models.Extensions.OrderExtensions
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/Extensions/OrderExtensions.cs
Line coverage
100%
Covered lines: 22
Uncovered lines: 0
Coverable lines: 22
Total lines: 55
Line coverage: 100%
Branch coverage
100%
Covered branches: 18
Total branches: 18
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Print(...)100%1818100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/Extensions/OrderExtensions.cs

#LineLine coverage
 1using System.Text;
 2
 3namespace OzonDomains.Models.Extensions;
 4
 5public static class OrderExtensions
 6{
 7    public static string Print(this Order order)
 8    {
 49        if (order == null) return "Order is null";
 10
 211        var sb = new StringBuilder();
 212        var type = order.GetType();
 213        var properties = type.GetProperties();
 14
 48215        foreach (var prop in properties)
 16        {
 23917            if (prop.GetIndexParameters().Length > 0)
 18                continue; // Пропускаем индексаторы
 19
 23920            var value = prop.GetValue(order);
 21
 23922            if (value == null)
 23            {
 18224                sb.AppendLine($"{prop.Name}: null");
 25            }
 5726            else if (prop.PropertyType.IsClass && prop.PropertyType != typeof(string))
 27            {
 828                var nestedProps = prop.PropertyType.GetProperties();
 8629                foreach (var nestedProp in nestedProps)
 30                {
 3531                    if (nestedProp.GetIndexParameters().Length > 0)
 32                        continue;
 33
 2834                    object? nestedValue = null;
 35                    try
 36                    {
 2837                        nestedValue = nestedProp.GetValue(value);
 2738                    }
 139                    catch
 40                    {
 141                        nestedValue = "Error retrieving";
 142                    }
 43
 2844                    sb.AppendLine($"{prop.Name}.{nestedProp.Name}: {nestedValue ?? "null"}");
 45                }
 46            }
 47            else
 48            {
 4949                sb.AppendLine($"{prop.Name}: {value}");
 50            }
 51        }
 52
 253        return sb.ToString();
 54    }
 55}

Methods/Properties

Print(OzonDomains.Models.Order)