public GameDetailsProvider(IDocumentLoader documentLoader, GameDetailsConfigSettings settings, IDocumentParser <LineScoreData> lineScoreParser, IDocumentParser <TeamBoxScoreData, string> teamBoxScoreParser)
 {
     _documentLoader     = documentLoader ?? throw new ArgumentNullException(nameof(documentLoader));
     _settings           = settings ?? throw new ArgumentNullException(nameof(settings));
     _lineScoreParser    = lineScoreParser ?? throw new ArgumentNullException(nameof(lineScoreParser));
     _teamBoxScoreParser = teamBoxScoreParser ?? throw new ArgumentNullException(nameof(teamBoxScoreParser));
 }
 public LoadGameDetailsFromFileSystemBehavior(IGameDetailsProvider next, IFileSystem fileSystem, GameDetailsConfigSettings settings)
 {
     _next       = next ?? throw new ArgumentNullException(nameof(next));
     _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));
     _settings   = settings ?? throw new ArgumentNullException(nameof(settings));
 }