< Summary

Information
Class: OzonDomains.ShipmentNumberMatching
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/ShipmentNumberMatching.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 24
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
Normalize(...)100%22100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/ShipmentNumberMatching.cs

#LineLine coverage
 1using System.Text.RegularExpressions;
 2
 3namespace OzonDomains;
 4
 5/// <summary>
 6/// Нормализация номера отправления Ozon для сопоставления строк отчёта с заказами в БД.
 7/// </summary>
 8public static class ShipmentNumberMatching
 9{
 10    /// <summary>Внутреннее разбиение позиции на строки: «79048346-0127-1/1», «79048346-0127-1/2».</summary>
 111    private static readonly Regex PositionSuffix = new(@"(/[\d]+)+$", RegexOptions.Compiled);
 12
 13    /// <summary>
 14    /// Отбрасывает только внутренний суффикс позиции («/1»). Суффикс отправления Ozon («-1», «-3»)
 15    /// значащий: у разделённого заказа это разные отправления, схлопывать их нельзя.
 16    /// </summary>
 17    public static string Normalize(string? shipmentNumber)
 18    {
 2319        if (string.IsNullOrWhiteSpace(shipmentNumber))
 420            return string.Empty;
 21
 1922        return PositionSuffix.Replace(shipmentNumber.Trim(), string.Empty);
 23    }
 24}

Methods/Properties

.cctor()
Normalize(System.String)