< Summary

Information
Class: EHonda.KicktippAi.Core.MatchOutcomeUpsertResult
Assembly: EHonda.KicktippAi.Core
File(s): /home/runner/work/KicktippAi/KicktippAi/src/Core/MatchOutcomes.cs
Line coverage
66%
Covered lines: 2
Uncovered lines: 1
Coverable lines: 3
Total lines: 50
Line coverage: 66.6%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
.ctor(...)100%210%
get_Disposition()100%11100%
set_Disposition(...)100%210%
get_Outcome()100%210%
set_Outcome(...)100%210%

File(s)

/home/runner/work/KicktippAi/KicktippAi/src/Core/MatchOutcomes.cs

#LineLine coverage
 1using NodaTime;
 2
 3namespace EHonda.KicktippAi.Core;
 4
 5public enum MatchOutcomeAvailability
 6{
 7    Pending,
 8    Completed
 9}
 10
 11public enum MatchOutcomeWriteDisposition
 12{
 13    Created,
 14    Updated,
 15    Unchanged
 16}
 17
 18public record CollectedMatchOutcome(
 19    string HomeTeam,
 20    string AwayTeam,
 21    ZonedDateTime StartsAt,
 22    int Matchday,
 23    int? HomeGoals,
 24    int? AwayGoals,
 25    MatchOutcomeAvailability Availability,
 26    string? TippSpielId = null)
 27{
 28    public bool HasOutcome => Availability == MatchOutcomeAvailability.Completed;
 29}
 30
 31public record PersistedMatchOutcome(
 32    string CommunityContext,
 33    string Competition,
 34    string HomeTeam,
 35    string AwayTeam,
 36    ZonedDateTime StartsAt,
 37    int Matchday,
 38    int? HomeGoals,
 39    int? AwayGoals,
 40    MatchOutcomeAvailability Availability,
 41    string? TippSpielId,
 42    DateTimeOffset CreatedAt,
 43    DateTimeOffset UpdatedAt)
 44{
 45    public bool HasOutcome => Availability == MatchOutcomeAvailability.Completed;
 46}
 47
 148public record MatchOutcomeUpsertResult(
 149    MatchOutcomeWriteDisposition Disposition,
 050    PersistedMatchOutcome Outcome);