SummaryStarSponsor

Information
Parser: Cobertura
Assemblies: 7
Classes: 129
Files: 87
Line coverage
51%
Covered lines: 3210
Uncovered lines: 3077
Coverable lines: 6287
Total lines: 14177
Line coverage: 51%
Branch coverage
47%
Covered branches: 1347
Total branches: 2810
Branch coverage: 47.9%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Risk Hotspots

Assembly Class Method Crap Score Cyclomatic complexity
Orchestrator Orchestrator.Commands.Observability.Cost.CostCommand ExecuteAsync()10920 104
Orchestrator Orchestrator.Commands.Operations.Bonus.BonusCommand ExecuteBonusWorkflow()8190 90
Orchestrator Orchestrator.Commands.Operations.Verify.VerifyMatchdayCommand ExecuteVerificationWorkflow()4160 64
Orchestrator Orchestrator.Commands.Operations.Verify.VerifyBonusCommand ExecuteVerificationWorkflow()3906 62
Orchestrator Orchestrator.Commands.Observability.Cost.CostCommand MergeConfigurations(...)1640 40
Orchestrator Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand PrintSummary()1332 36
Orchestrator Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand ExecuteAsync()702 26
Orchestrator Orchestrator.Commands.Operations.Bonus.BonusCommand ExecuteAsync()702 26
Orchestrator Orchestrator.Commands.Operations.CollectContext.CollectContextKicktippCommand ExecuteKicktippContextCollection()702 26
Orchestrator Orchestrator.Commands.Operations.Verify.VerifyMatchdayCommand CheckPredictionOutdated()600 24
OpenAiIntegration OpenAiIntegration.OpenAiPredictor ParsePrediction(...)506 22
Orchestrator Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand ExecuteAsync()506 22
Orchestrator Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchCommandHelpers GetMatchContextDocumentsAsync()420 20
Orchestrator Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand BuildSummary()420 20
Orchestrator Orchestrator.Commands.Utility.Snapshots.SnapshotClient FetchAllSpielinfoVariantAsync()420 20
Orchestrator Orchestrator.Commands.Utility.Snapshots.SnapshotsFetchCommand <FetchSnapshotsAsync()420 20
Orchestrator Orchestrator.Commands.Utility.UploadKpi.UploadKpiCommand ExecuteAsync()420 20
EHonda.KicktippAi.Core EHonda.KicktippAi.Core.HistoryCsvUtility ExtractMatchesWithCollectionDates(...)342 18
Orchestrator Orchestrator.Commands.Observability.ContextChanges.ContextChangesCommand ExecuteContextChanges()342 18
Orchestrator Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersCommand ExecuteAsync()342 18

Coverage

Line coverageBranch coverage
NameCoveredUncoveredCoverableTotalPercentageCoveredTotalPercentage
ContextProviders.Kicktipp174117545899.4%
  
475487%
  
ContextProviders.Kicktipp.CommunityRulesFileProvider011170%
 
00
 
ContextProviders.Kicktipp.Csv.CsvDocumentContextExtensions20241100%
 
00
 
ContextProviders.Kicktipp.Csv.CsvWriterExtensions60631100%
 
00
 
ContextProviders.Kicktipp.Csv.HeadToHeadResultCsvMap1001022100%
 
44100%
 
ContextProviders.Kicktipp.Csv.MatchResultCsvMap1101124100%
 
1010100%
 
ContextProviders.Kicktipp.Csv.TeamStandingCsvMap1201224100%
 
00
 
ContextProviders.Kicktipp.KicktippContextProvider1330133299100%
 
334082.5%
  
EHonda.KicktippAi.Core112107219115851.1%
  
4586.8%
  
EHonda.KicktippAi.Core.BonusPrediction30349100%
 
00
 
EHonda.KicktippAi.Core.BonusPredictionMetadata2244950%
  
00
 
EHonda.KicktippAi.Core.BonusPredictionResult077490%
 
00
 
EHonda.KicktippAi.Core.BonusQuestion6174985.7%
  
00
 
EHonda.KicktippAi.Core.BonusQuestionOption40449100%
 
00
 
EHonda.KicktippAi.Core.ContextDocument101112290.9%
  
00
 
EHonda.KicktippAi.Core.DocumentContext3035100%
 
00
 
EHonda.KicktippAi.Core.HeadToHeadResult90914100%
 
00
 
EHonda.KicktippAi.Core.HistoryCsvUtility087872060%
 
0540%
 
EHonda.KicktippAi.Core.KpiDocument121133292.3%
  
00
 
EHonda.KicktippAi.Core.Match5059100%
 
00
 
EHonda.KicktippAi.Core.MatchPrediction303237100%
 
00
 
EHonda.KicktippAi.Core.MatchResult90933100%
 
00
 
EHonda.KicktippAi.Core.MatchWithHistory40433100%
 
00
 
EHonda.KicktippAi.Core.Prediction40439100%
 
00
 
EHonda.KicktippAi.Core.PredictionJustification40439100%
 
00
 
EHonda.KicktippAi.Core.PredictionJustificationContextSource30339100%
 
00
 
EHonda.KicktippAi.Core.PredictionJustificationContextSources30339100%
 
00
 
EHonda.KicktippAi.Core.PredictionMetadata3143975%
  
00
 
EHonda.KicktippAi.Core.PredictionResult077390%
 
00
 
EHonda.KicktippAi.Core.SolutionPathUtility1101145100%
 
44100%
 
EHonda.KicktippAi.Core.SolutionRelativeFileProvider20221100%
 
00
 
EHonda.KicktippAi.Core.TeamStanding1201222100%
 
00
 
FirebaseAdapter8641791043685582.8%
  
26231483.4%
  
FirebaseAdapter.Configuration.FirebaseOptions80845100%
 
66100%
 
FirebaseAdapter.FirebaseContextRepository952311822880.5%
  
2222100%
 
FirebaseAdapter.FirebaseKpiContextProvider5766318790.4%
  
475094%
  
FirebaseAdapter.FirebaseKpiRepository1042212628882.5%
  
2222100%
 
FirebaseAdapter.FirebasePredictionRepository49193584104084%
  
15320076.5%
  
FirebaseAdapter.FirebasePredictionRepository.StoredContextSource2021040100%
 
00
 
FirebaseAdapter.FirebasePredictionRepository.StoredContextSources2021040100%
 
00
 
FirebaseAdapter.FirebasePredictionRepository.StoredJustification3031040100%
 
00
 
FirebaseAdapter.Models.FirestoreBonusPrediction13013355100%
 
00
 
FirebaseAdapter.Models.FirestoreContextDocument707355100%
 
00
 
FirebaseAdapter.Models.FirestoreKpiDocument808355100%
 
00
 
FirebaseAdapter.Models.FirestoreMatch606355100%
 
00
 
FirebaseAdapter.Models.FirestoreMatchPrediction17017355100%
 
00
 
FirebaseAdapter.ServiceCollectionExtensions51358617259.3%
  
121485.7%
  
KicktippIntegration9221361058264787.1%
  
63479879.4%
  
KicktippIntegration.Authentication.KicktippAuthenticationHandler9019122498.9%
  
445481.4%
  
KicktippIntegration.BetPrediction202138100%
 
00
 
KicktippIntegration.KicktippClient816130946196986.2%
  
58674079.1%
  
KicktippIntegration.KicktippCredentials202138100%
 
22100%
 
KicktippIntegration.KicktippOptions303138100%
 
00
 
KicktippIntegration.ServiceCollectionExtensions95144064.2%
  
22100%
 
OpenAiIntegration569116685625583%
  
13819869.6%
  
OpenAiIntegration.CostCalculationService39039119100%
 
171894.4%
  
OpenAiIntegration.InstructionsTemplateProvider403439893%
  
212295.4%
  
OpenAiIntegration.ModelPricing101119100%
 
00
 
OpenAiIntegration.ModelPricingData19019119100%
 
00
 
OpenAiIntegration.OpenAiPredictor064641270%
 
0220%
 
OpenAiIntegration.PredictionService3641237666796.8%
  
8010675.4%
  
OpenAiIntegration.PredictionService.BonusPredictionEntry0226670%
 
00
 
OpenAiIntegration.PredictionService.BonusPredictionsResponse0116670%
 
00
 
OpenAiIntegration.PredictionService.JustificationContextSourceEntry202667100%
 
00
 
OpenAiIntegration.PredictionService.JustificationContextSourcesResponse202667100%
 
00
 
OpenAiIntegration.PredictionService.JustificationResponse303667100%
 
00
 
OpenAiIntegration.PredictionService.PredictionResponse303667100%
 
00
 
OpenAiIntegration.PredictionService.SingleBonusPredictionResponse101667100%
 
00
 
OpenAiIntegration.PredictorContext066310%
 
00
 
OpenAiIntegration.PromptsFileProvider10117100%
 
00
 
OpenAiIntegration.ServiceCollectionExtensions02828890%
 
0100%
 
OpenAiIntegration.TokenUsageTracker94094200100%
 
2020100%
 
Orchestrator45525022957809115.3%
  
222134816.4%
  
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchBaseSettings02222950%
 
0120%
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchCommandHelpers01101101990%
 
0440%
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand01521522630%
 
0680%
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand.ComparisonRunResult0112630%
 
00
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchContextDocumentInfo0111990%
 
00
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand01481482670%
 
0540%
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand.RunMetric0112670%
 
00
 
Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedSettings011950%
 
00
 
Orchestrator.Commands.Observability.ContextChanges.ContextChangesCommand01231232790%
 
0640%
 
Orchestrator.Commands.Observability.ContextChanges.ContextChangesSettings044270%
 
00
 
Orchestrator.Commands.Observability.ContextChanges.DiffLine0112790%
 
00
 
Orchestrator.Commands.Observability.Cost.CostCommand03513515850%
 
02760%
 
Orchestrator.Commands.Observability.Cost.CostConfiguration077680%
 
00
 
Orchestrator.Commands.Observability.Cost.CostSettings088680%
 
00
 
Orchestrator.Commands.Operations.Bonus.BonusCommand01801803910%
 
01160%
 
Orchestrator.Commands.Operations.CollectContext.CollectContextKicktippCommand094942080%
 
0360%
 
Orchestrator.Commands.Operations.CollectContext.CollectContextKicktippSettings022280%
 
00
 
Orchestrator.Commands.Operations.CollectContext.CollectContextSettings011280%
 
00
 
Orchestrator.Commands.Operations.Matchday.BaseSettings1401472100%
 
22100%
 
Orchestrator.Commands.Operations.Matchday.MatchdayCommand354836276797.7%
  
18920094.5%
  
Orchestrator.Commands.Operations.Verify.VerifyBonusCommand01711713880%
 
01080%
 
Orchestrator.Commands.Operations.Verify.VerifyMatchdayCommand01481483490%
 
01100%
 
Orchestrator.Commands.Operations.Verify.VerifySettings077390%
 
00
 
Orchestrator.Commands.Shared.JustificationConsoleWriter26285412948.1%
  
196031.6%
  
Orchestrator.Commands.Utility.ListKpi.ListKpiCommand4004082100%
 
88100%
 
Orchestrator.Commands.Utility.ListKpi.ListKpiSettings20215100%
 
00
 
Orchestrator.Commands.Utility.Snapshots.SnapshotClient01061062710%
 
0340%
 
Orchestrator.Commands.Utility.Snapshots.SnapshotEncryptor01919600%
 
020%
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsAllCommand052521070%
 
0120%
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsAllSettings033720%
 
00
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsBaseSettings022720%
 
00
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsEncryptCommand072721290%
 
0120%
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsEncryptSettings033720%
 
00
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsFetchCommand01631632180%
 
0240%
 
Orchestrator.Commands.Utility.Snapshots.SnapshotsFetchSettings011720%
 
00
 
Orchestrator.Commands.Utility.UploadKpi.UploadKpiCommand063631400%
 
0200%
 
Orchestrator.Commands.Utility.UploadKpi.UploadKpiCommand.KpiDocumentJson0441400%
 
00
 
Orchestrator.Commands.Utility.UploadKpi.UploadKpiSettings033200%
 
00
 
Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersCommand053531120%
 
0180%
 
Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersCommand.TransfersDocumentJson0441120%
 
00
 
Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersSettings033200%
 
00
 
Orchestrator.EnvironmentHelper043431030%
 
0120%
 
Orchestrator.Infrastructure.Factories.ContextProviderFactory01010350%
 
020%
 
Orchestrator.Infrastructure.Factories.FirebaseServiceFactory02525760%
 
040%
 
Orchestrator.Infrastructure.Factories.KicktippClientFactory052521140%
 
060%
 
Orchestrator.Infrastructure.Factories.OpenAiServiceFactory044441100%
 
0160%
 
Orchestrator.Infrastructure.ServiceRegistrationExtensions049492450%
 
020%
 
Orchestrator.Infrastructure.TypeRegistrar1101142100%
 
00
 
Orchestrator.Infrastructure.TypeResolver8193888.8%
  
4666.6%
  
Orchestrator.LoggingConfiguration01212240%
 
040%
 
Orchestrator.LoggingConfiguration<T>01212240%
 
040%
 
Orchestrator.PathUtility01414580%
 
040%
 
Orchestrator.Program01201201550%
 
080%
 
TestUtilities1143615059776%
  
4040100%
 
TestUtilities.CoreTestFactories32346626248.4%
  
2222100%
 
TestUtilities.FakeLoggerAssertions.FakeLoggerAssertionExtensions40440100%
 
00
 
TestUtilities.FakeLoggerAssertions.FakeLoggerContainsAssertion<T>141154693.3%
  
44100%
 
TestUtilities.FakeLoggerAssertions.FakeLoggerContainsAssertion<T>10146100%
 
00
 
TestUtilities.FakeLoggerAssertions.FakeLoggerDoesNotContainAssertion<T>131144592.8%
  
22100%
 
TestUtilities.MockFileProviderHelpers1701754100%
 
44100%
 
TestUtilities.OpenAITestHelpers1101138100%
 
44100%
 
TestUtilities.StringAssertions.StringAssertionExtensions20216100%
 
00
 
TestUtilities.StringAssertions.StringEqualsWithNormalizedLineEndingsAssertion2002050100%
 
44100%