< Summary

Information
Class: ProjectTemplate.Infrastructure.Data.PersistenceTimestamp
Assembly: ProjectTemplate.Infrastructure
File(s): /home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/PersistenceTimestamp.cs
Line coverage
92%
Covered lines: 12
Uncovered lines: 1
Coverable lines: 13
Total lines: 36
Line coverage: 92.3%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
UtcNow()100%11100%
NormalizeUtc(...)75%4488.88%
NormalizeUtc(...)100%11100%

File(s)

/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/src/ProjectTemplate.Infrastructure/Data/PersistenceTimestamp.cs

#LineLine coverage
 1namespace ProjectTemplate.Infrastructure.Data;
 2
 3internal static class PersistenceTimestamp
 4{
 5    internal const int Precision = 3;
 6
 7    private const long _ticksPerMillisecond = TimeSpan.TicksPerMillisecond;
 8
 9    internal static DateTime UtcNow()
 10    {
 16211        return NormalizeUtc(DateTime.UtcNow);
 12    }
 13
 14    internal static DateTime NormalizeUtc(DateTime value)
 15    {
 26216        DateTime utcValue = value.Kind switch
 26217        {
 23418            DateTimeKind.Utc => value,
 819            DateTimeKind.Local => value.ToUniversalTime(),
 2020            DateTimeKind.Unspecified => DateTime.SpecifyKind(value, DateTimeKind.Utc),
 021            _ => DateTime.SpecifyKind(value, DateTimeKind.Utc)
 26222        };
 23
 26224        long normalizedTicks = utcValue.Ticks - (utcValue.Ticks % _ticksPerMillisecond);
 25
 26226        return new DateTime(normalizedTicks, DateTimeKind.Utc);
 27    }
 28
 29    internal static DateTimeOffset NormalizeUtc(DateTimeOffset value)
 30    {
 631        DateTimeOffset utcValue = value.ToUniversalTime();
 632        long normalizedTicks = utcValue.Ticks - (utcValue.Ticks % _ticksPerMillisecond);
 33
 634        return new DateTimeOffset(normalizedTicks, TimeSpan.Zero);
 35    }
 36}