[InlineData("EASDATA-10003909-20200816-100004.csv", 10003909, 62, 1508)] // all combinations

        public async Task ProcessEASFile(string filename, int ukPrn, int expectedSubmissionValuesCount, int expectedValidationErrorsCount)
        {
            var connString = ConfigurationManager.AppSettings["EasdbConnectionString"];
            DbContextOptions <EasContext> options = new DbContextOptionsBuilder <EasContext>().UseSqlServer(connString).UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking).Options;
            EasContext easdbContext = new EasContext(options);
            List <EasSubmissionValue> easSubmissionValues = new List <EasSubmissionValue>();
            List <ValidationError>    validationErrors    = new List <ValidationError>();
            var easContextMessage = BuildEasJobContextMessage(filename, ukPrn, 0);
            var builder           = new ContainerBuilder();

            _output.WriteLine(connString);
            CleanUp(ukPrn.ToString(), easdbContext);
            DIComposition.RegisterTypes(builder);
            var container = builder.Build();

            EntryPoint entryPoint = new EntryPoint(
                new SeriLogger(new ApplicationLoggerSettings(), new Logging.ExecutionContext(), null),
                container.Resolve <IValidationService>(),
                container.Resolve <IReportingController>());


            var tasks = container.Resolve <IList <IEasServiceTask> >();

            var result = await entryPoint.CallbackAsync(easContextMessage, CancellationToken.None, tasks);

            var easSubmission = easdbContext.EasSubmissions.FirstOrDefault(x => x.Ukprn == ukPrn.ToString());

            if (easSubmission != null)
            {
                easSubmissionValues = easdbContext.EasSubmissionValues.Where(x => x.SubmissionId == easSubmission.SubmissionId).ToList();
            }

            var sourceFile = easdbContext.SourceFiles.FirstOrDefault(x => x.Ukprn == ukPrn.ToString());

            if (sourceFile != null)
            {
                validationErrors = easdbContext.ValidationErrors.Where(x => x.SourceFileId == sourceFile.SourceFileId).ToList();
            }

            Assert.Equal(expectedSubmissionValuesCount, easSubmissionValues.Count);
            Assert.Equal(expectedValidationErrorsCount, validationErrors.Count);
        }