| ContextProviders.Kicktipp | 175 | 0 | 175 | 458 | 100% | | 47 | 54 | 87% | |
| ContextProviders.Kicktipp.CommunityRulesFileProvider | 1 | 0 | 1 | 17 | 100% | | 0 | 0 | | |
| ContextProviders.Kicktipp.Csv.CsvDocumentContextExtensions | 2 | 0 | 2 | 41 | 100% | | 0 | 0 | | |
| ContextProviders.Kicktipp.Csv.CsvWriterExtensions | 6 | 0 | 6 | 31 | 100% | | 0 | 0 | | |
| ContextProviders.Kicktipp.Csv.HeadToHeadResultCsvMap | 10 | 0 | 10 | 22 | 100% | | 4 | 4 | 100% | |
| ContextProviders.Kicktipp.Csv.MatchResultCsvMap | 11 | 0 | 11 | 24 | 100% | | 10 | 10 | 100% | |
| ContextProviders.Kicktipp.Csv.TeamStandingCsvMap | 12 | 0 | 12 | 24 | 100% | | 0 | 0 | | |
| ContextProviders.Kicktipp.KicktippContextProvider | 133 | 0 | 133 | 299 | 100% | | 33 | 40 | 82.5% | |
| EHonda.KicktippAi.Core | 279 | 37 | 316 | 1756 | 88.2% | | 28 | 30 | 93.3% | |
| EHonda.KicktippAi.Core.BonusPrediction | 3 | 0 | 3 | 49 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.BonusPredictionMetadata | 4 | 0 | 4 | 49 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.BonusPredictionResult | 0 | 7 | 7 | 49 | 0% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.BonusQuestion | 6 | 1 | 7 | 49 | 85.7% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.BonusQuestionOption | 4 | 0 | 4 | 49 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.CollectedMatchOutcome | 10 | 0 | 10 | 50 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.ContextDocument | 10 | 1 | 11 | 22 | 90.9% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.DocumentContext | 3 | 0 | 3 | 5 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.HeadToHeadResult | 9 | 0 | 9 | 14 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.HistoryCsvUtility | 85 | 2 | 87 | 206 | 97.7% | | 16 | 16 | 100% | |
| EHonda.KicktippAi.Core.KpiDocument | 12 | 1 | 13 | 32 | 92.3% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.Match | 6 | 0 | 6 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.MatchContextDocumentCatalog | 49 | 1 | 50 | 81 | 98% | | 8 | 10 | 80% | |
| EHonda.KicktippAi.Core.MatchContextDocumentSelection | 3 | 0 | 3 | 81 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.MatchOutcomeUpsertResult | 2 | 1 | 3 | 50 | 66.6% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.MatchPrediction | 3 | 0 | 3 | 355 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.MatchResult | 9 | 0 | 9 | 33 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.MatchWithHistory | 4 | 0 | 4 | 33 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PersistedMatchOutcome | 1 | 13 | 14 | 50 | 7.1% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.Prediction | 4 | 0 | 4 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PredictionJustification | 4 | 0 | 4 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PredictionJustificationContextSource | 3 | 0 | 3 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PredictionJustificationContextSources | 3 | 0 | 3 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PredictionMetadata | 4 | 0 | 4 | 39 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.PredictionResult | 0 | 7 | 7 | 39 | 0% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.ReconstructedMatchPredictionPrompt | 8 | 3 | 11 | 69 | 72.7% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.ResolvedContextDocumentVersion | 5 | 0 | 5 | 69 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.SolutionPathUtility | 11 | 0 | 11 | 45 | 100% | | 4 | 4 | 100% | |
| EHonda.KicktippAi.Core.SolutionRelativeFileProvider | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | |
| EHonda.KicktippAi.Core.TeamStanding | 12 | 0 | 12 | 22 | 100% | | 0 | 0 | | |
| FirebaseAdapter | 1019 | 337 | 1356 | 9092 | 75.1% | | 339 | 446 | 76% | |
| FirebaseAdapter.Configuration.FirebaseOptions | 8 | 0 | 8 | 45 | 100% | | 6 | 6 | 100% | |
| FirebaseAdapter.FirebaseContextRepository | 103 | 31 | 134 | 257 | 76.8% | | 28 | 28 | 100% | |
| FirebaseAdapter.FirebaseKpiContextProvider | 57 | 6 | 63 | 187 | 90.4% | | 47 | 50 | 94% | |
| FirebaseAdapter.FirebaseKpiRepository | 104 | 22 | 126 | 288 | 82.5% | | 22 | 22 | 100% | |
| FirebaseAdapter.FirebaseMatchOutcomeRepository | 0 | 97 | 97 | 184 | 0% | | 0 | 44 | 0% | |
| FirebaseAdapter.FirebasePredictionRepository | 634 | 130 | 764 | 1373 | 82.9% | | 222 | 280 | 79.2% | |
| FirebaseAdapter.FirebasePredictionRepository.StoredContextSource | 2 | 0 | 2 | 1373 | 100% | | 0 | 0 | | |
| FirebaseAdapter.FirebasePredictionRepository.StoredContextSources | 2 | 0 | 2 | 1373 | 100% | | 0 | 0 | | |
| FirebaseAdapter.FirebasePredictionRepository.StoredJustification | 3 | 0 | 3 | 1373 | 100% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreBonusPrediction | 13 | 0 | 13 | 410 | 100% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreContextDocument | 7 | 0 | 7 | 410 | 100% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreKpiDocument | 8 | 0 | 8 | 410 | 100% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreMatch | 7 | 0 | 7 | 410 | 100% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreMatchOutcome | 0 | 13 | 13 | 410 | 0% | | 0 | 0 | | |
| FirebaseAdapter.Models.FirestoreMatchPrediction | 17 | 0 | 17 | 410 | 100% | | 0 | 0 | | |
| FirebaseAdapter.ServiceCollectionExtensions | 54 | 38 | 92 | 179 | 58.6% | | 14 | 16 | 87.5% | |
| KicktippIntegration | 939 | 227 | 1166 | 2933 | 80.5% | | 642 | 864 | 74.3% | |
| KicktippIntegration.Authentication.KicktippAuthenticationHandler | 90 | 1 | 91 | 224 | 98.9% | | 44 | 54 | 81.4% | |
| KicktippIntegration.BetPrediction | 2 | 0 | 2 | 153 | 100% | | 0 | 0 | | |
| KicktippIntegration.KicktippClient | 833 | 221 | 1054 | 2210 | 79% | | 594 | 806 | 73.6% | |
| KicktippIntegration.KicktippCredentials | 2 | 0 | 2 | 153 | 100% | | 2 | 2 | 100% | |
| KicktippIntegration.KicktippOptions | 3 | 0 | 3 | 153 | 100% | | 0 | 0 | | |
| KicktippIntegration.ServiceCollectionExtensions | 9 | 5 | 14 | 40 | 64.2% | | 2 | 2 | 100% | |
| OpenAiIntegration | 701 | 168 | 869 | 6834 | 80.6% | | 184 | 264 | 69.6% | |
| OpenAiIntegration.CostBreakdown | 1 | 0 | 1 | 41 | 100% | | 0 | 0 | | |
| OpenAiIntegration.CostCalculationService | 40 | 0 | 40 | 124 | 100% | | 18 | 18 | 100% | |
| OpenAiIntegration.InstructionsTemplateProvider | 40 | 3 | 43 | 98 | 93% | | 20 | 20 | 100% | |
| OpenAiIntegration.LangfuseActivityPropagation | 35 | 3 | 38 | 97 | 92.1% | | 25 | 28 | 89.2% | |
| OpenAiIntegration.MatchPromptReconstructionService | 82 | 3 | 85 | 151 | 96.4% | | 14 | 14 | 100% | |
| OpenAiIntegration.ModelPricing | 1 | 0 | 1 | 124 | 100% | | 0 | 0 | | |
| OpenAiIntegration.ModelPricingData | 19 | 0 | 19 | 124 | 100% | | 0 | 0 | | |
| OpenAiIntegration.OpenAiPredictor | 0 | 64 | 64 | 127 | 0% | | 0 | 22 | 0% | |
| OpenAiIntegration.PredictionPromptComposer | 29 | 0 | 29 | 58 | 100% | | 6 | 6 | 100% | |
| OpenAiIntegration.PredictionService | 337 | 41 | 378 | 685 | 89.1% | | 75 | 110 | 68.1% | |
| OpenAiIntegration.PredictionService.BonusPredictionEntry | 0 | 2 | 2 | 685 | 0% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.BonusPredictionsResponse | 0 | 1 | 1 | 685 | 0% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.JustificationContextSourceEntry | 2 | 0 | 2 | 685 | 100% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.JustificationContextSourcesResponse | 2 | 0 | 2 | 685 | 100% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.JustificationResponse | 3 | 0 | 3 | 685 | 100% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.PredictionResponse | 3 | 0 | 3 | 685 | 100% | | 0 | 0 | | |
| OpenAiIntegration.PredictionService.SingleBonusPredictionResponse | 1 | 0 | 1 | 685 | 100% | | 0 | 0 | | |
| OpenAiIntegration.PredictionTelemetryMetadata | 10 | 16 | 26 | 58 | 38.4% | | 6 | 16 | 37.5% | |
| OpenAiIntegration.PredictorContext | 0 | 6 | 6 | 31 | 0% | | 0 | 0 | | |
| OpenAiIntegration.PromptsFileProvider | 1 | 0 | 1 | 17 | 100% | | 0 | 0 | | |
| OpenAiIntegration.ServiceCollectionExtensions | 0 | 29 | 29 | 91 | 0% | | 0 | 10 | 0% | |
| OpenAiIntegration.Telemetry | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | |
| OpenAiIntegration.TokenUsageTracker | 94 | 0 | 94 | 200 | 100% | | 20 | 20 | 100% | |
| Orchestrator | 3456 | 431 | 3887 | 10552 | 88.9% | | 1461 | 1633 | 89.4% | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchBaseSettings | 21 | 1 | 22 | 95 | 95.4% | | 11 | 12 | 91.6% | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchCommandHelpers | 110 | 0 | 110 | 201 | 100% | | 42 | 44 | 95.4% | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand | 148 | 5 | 153 | 264 | 96.7% | | 64 | 68 | 94.1% | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchComparisonCommand.ComparisonRunResult | 1 | 0 | 1 | 264 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchContextDocumentInfo | 1 | 0 | 1 | 201 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand | 145 | 4 | 149 | 268 | 97.3% | | 51 | 54 | 94.4% | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedCommand.RunMetric | 1 | 0 | 1 | 268 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.AnalyzeMatch.AnalyzeMatchDetailedSettings | 1 | 0 | 1 | 95 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ContextChanges.ContextChangesCommand | 121 | 2 | 123 | 279 | 98.3% | | 60 | 64 | 93.7% | |
| Orchestrator.Commands.Observability.ContextChanges.ContextChangesSettings | 4 | 0 | 4 | 27 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ContextChanges.DiffLine | 1 | 0 | 1 | 279 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.Cost.CostCommand | 301 | 7 | 308 | 494 | 97.7% | | 240 | 244 | 98.3% | |
| Orchestrator.Commands.Observability.Cost.CostConfiguration | 7 | 0 | 7 | 68 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.Cost.CostSettings | 8 | 0 | 8 | 68 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.EvaluationTimeParser | 17 | 0 | 17 | 51 | 100% | | 8 | 8 | 100% | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.ExportedExperimentDataset | 0 | 3 | 3 | 27 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.ExportExperimentDatasetCommand | 0 | 97 | 97 | 198 | 0% | | 0 | 34 | 0% | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.ExportExperimentDatasetSettings | 0 | 14 | 14 | 49 | 0% | | 0 | 16 | 0% | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.HostedMatchExperimentDatasetItem | 0 | 5 | 5 | 27 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.HostedMatchExperimentExpectedOutput | 0 | 3 | 3 | 27 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentDataset.HostedMatchExperimentMetadata | 0 | 9 | 9 | 27 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.ExportedExperimentItem | 0 | 3 | 3 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.ExportExperimentItemCommand | 0 | 143 | 143 | 245 | 0% | | 0 | 38 | 0% | |
| Orchestrator.Commands.Observability.ExportExperimentItem.ExportExperimentItemSettings | 0 | 24 | 24 | 83 | 0% | | 0 | 12 | 0% | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentDatasetItem | 0 | 5 | 5 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentExpectedOutput | 0 | 4 | 4 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentHistoricalPrediction | 0 | 3 | 3 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentMetadata | 0 | 14 | 14 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentResolvedContextDocument | 0 | 4 | 4 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ExportExperimentItem.MatchExperimentRunnerPayload | 0 | 3 | 3 | 46 | 0% | | 0 | 0 | | |
| Orchestrator.Commands.Observability.ReconstructPrompt.ReconstructPromptCommand | 68 | 6 | 74 | 138 | 91.8% | | 13 | 14 | 92.8% | |
| Orchestrator.Commands.Observability.ReconstructPrompt.ReconstructPromptSettings | 16 | 7 | 23 | 79 | 69.5% | | 7 | 12 | 58.3% | |
| Orchestrator.Commands.Operations.Bonus.BonusCommand | 224 | 0 | 224 | 462 | 100% | | 133 | 140 | 95% | |
| Orchestrator.Commands.Operations.CollectContext.CollectContextKicktippCommand | 106 | 18 | 124 | 261 | 85.4% | | 39 | 48 | 81.2% | |
| Orchestrator.Commands.Operations.CollectContext.CollectContextKicktippSettings | 4 | 0 | 4 | 33 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Operations.Matchday.BaseSettings | 14 | 0 | 14 | 72 | 100% | | 2 | 2 | 100% | |
| Orchestrator.Commands.Operations.Matchday.MatchdayCommand | 434 | 2 | 436 | 914 | 99.5% | | 238 | 247 | 96.3% | |
| Orchestrator.Commands.Operations.RandomMatch.RandomMatchCommand | 212 | 0 | 212 | 384 | 100% | | 41 | 44 | 93.1% | |
| Orchestrator.Commands.Operations.RandomMatch.RandomMatchSettings | 3 | 0 | 3 | 22 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Operations.Verify.VerifyBonusCommand | 170 | 1 | 171 | 388 | 99.4% | | 103 | 108 | 95.3% | |
| Orchestrator.Commands.Operations.Verify.VerifyMatchdayCommand | 156 | 0 | 156 | 373 | 100% | | 114 | 116 | 98.2% | |
| Orchestrator.Commands.Operations.Verify.VerifySettings | 7 | 0 | 7 | 39 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Shared.JustificationConsoleWriter | 54 | 0 | 54 | 129 | 100% | | 58 | 60 | 96.6% | |
| Orchestrator.Commands.Utility.ListKpi.ListKpiCommand | 40 | 0 | 40 | 82 | 100% | | 8 | 8 | 100% | |
| Orchestrator.Commands.Utility.ListKpi.ListKpiSettings | 2 | 0 | 2 | 15 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotClient | 95 | 11 | 106 | 271 | 89.6% | | 31 | 34 | 91.1% | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotEncryptor | 19 | 0 | 19 | 60 | 100% | | 2 | 2 | 100% | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsAllCommand | 51 | 1 | 52 | 107 | 98% | | 9 | 12 | 75% | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsAllSettings | 3 | 0 | 3 | 72 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsBaseSettings | 2 | 0 | 2 | 72 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsEncryptCommand | 72 | 0 | 72 | 129 | 100% | | 12 | 12 | 100% | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsEncryptSettings | 3 | 0 | 3 | 72 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsFetchCommand | 163 | 0 | 163 | 218 | 100% | | 24 | 24 | 100% | |
| Orchestrator.Commands.Utility.Snapshots.SnapshotsFetchSettings | 1 | 0 | 1 | 72 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.UploadKpi.UploadKpiCommand | 66 | 0 | 66 | 146 | 100% | | 20 | 20 | 100% | |
| Orchestrator.Commands.Utility.UploadKpi.UploadKpiCommand.KpiDocumentJson | 4 | 0 | 4 | 146 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.UploadKpi.UploadKpiSettings | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersCommand | 56 | 0 | 56 | 119 | 100% | | 18 | 18 | 100% | |
| Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersCommand.TransfersDocumentJson | 4 | 0 | 4 | 119 | 100% | | 0 | 0 | | |
| Orchestrator.Commands.Utility.UploadTransfers.UploadTransfersSettings | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | |
| Orchestrator.EnvironmentHelper | 35 | 8 | 43 | 103 | 81.3% | | 10 | 12 | 83.3% | |
| Orchestrator.Infrastructure.Factories.ContextProviderFactory | 16 | 0 | 16 | 51 | 100% | | 2 | 2 | 100% | |
| Orchestrator.Infrastructure.Factories.FirebaseServiceFactory | 11 | 16 | 27 | 83 | 40.7% | | 3 | 4 | 75% | |
| Orchestrator.Infrastructure.Factories.KicktippClientFactory | 51 | 1 | 52 | 114 | 98% | | 5 | 6 | 83.3% | |
| Orchestrator.Infrastructure.Factories.OpenAiServiceFactory | 44 | 0 | 44 | 110 | 100% | | 16 | 16 | 100% | |
| Orchestrator.Infrastructure.LangfuseBaggageSpanProcessor | 12 | 0 | 12 | 49 | 100% | | 14 | 14 | 100% | |
| Orchestrator.Infrastructure.ServiceRegistrationExtensions | 78 | 7 | 85 | 361 | 91.7% | | 17 | 18 | 94.4% | |
| Orchestrator.Infrastructure.TypeRegistrar | 15 | 0 | 15 | 69 | 100% | | 2 | 2 | 100% | |
| Orchestrator.Infrastructure.TypeResolver | 12 | 0 | 12 | 62 | 100% | | 10 | 10 | 100% | |
| Orchestrator.LoggingConfiguration | 12 | 0 | 12 | 24 | 100% | | 4 | 4 | 100% | |
| Orchestrator.LoggingConfiguration<T> | 12 | 0 | 12 | 24 | 100% | | 4 | 4 | 100% | |
| Orchestrator.PathUtility | 14 | 0 | 14 | 58 | 100% | | 4 | 4 | 100% | |
| Orchestrator.Program | 141 | 0 | 141 | 180 | 100% | | 8 | 8 | 100% | |
| Orchestrator.Services.MatchdayOutcomeCollectionSummary | 8 | 0 | 8 | 101 | 100% | | 0 | 0 | | |
| Orchestrator.Services.MatchOutcomeCollectionResult | 4 | 0 | 4 | 101 | 100% | | 0 | 0 | | |
| Orchestrator.Services.MatchOutcomeCollectionService | 49 | 0 | 49 | 101 | 100% | | 14 | 14 | 100% | |
| TestUtilities | 160 | 38 | 198 | 733 | 80.8% | | 52 | 52 | 100% | |
| TestUtilities.CoreTestFactories | 40 | 35 | 75 | 299 | 53.3% | | 34 | 34 | 100% | |
| TestUtilities.FakeLoggerAssertions.FakeLoggerAssertionExtensions | 4 | 0 | 4 | 40 | 100% | | 0 | 0 | | |
| TestUtilities.FakeLoggerAssertions.FakeLoggerContainsAssertion<T> | 14 | 1 | 15 | 46 | 93.3% | | 4 | 4 | 100% | |
| TestUtilities.FakeLoggerAssertions.FakeLoggerContainsAssertion<T> | 1 | 0 | 1 | 46 | 100% | | 0 | 0 | | |
| TestUtilities.FakeLoggerAssertions.FakeLoggerDoesNotContainAssertion<T> | 13 | 1 | 14 | 45 | 92.8% | | 2 | 2 | 100% | |
| TestUtilities.FirestoreFixture | 38 | 1 | 39 | 99 | 97.4% | | 0 | 0 | | |
| TestUtilities.MockFileProviderHelpers | 17 | 0 | 17 | 54 | 100% | | 4 | 4 | 100% | |
| TestUtilities.OpenAITestHelpers | 11 | 0 | 11 | 38 | 100% | | 4 | 4 | 100% | |
| TestUtilities.StringAssertions.StringAssertionExtensions | 2 | 0 | 2 | 16 | 100% | | 0 | 0 | | |
| TestUtilities.StringAssertions.StringEqualsWithNormalizedLineEndingsAssertion | 20 | 0 | 20 | 50 | 100% | | 4 | 4 | 100% | |