public void GetStudentType_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicStudentType l) => ImportDemographicsOperation.GetStudentType(l));
 }
Example #2
0
        public static OperationContext CreateOperationContext(OperationArgumentsBase arguments, IEnumerator <DateTime> enumerator)
        {
            if (repositories == null)
            {
                throw new FieldAccessException("Repositories member was never set");
            }

            switch (arguments)
            {
            case ImportWmsInventoryOperationArguments wmsInventoryOperationArgs:
                ImportWmsInventoryOperation wmsInventoryOperation = new ImportWmsInventoryOperation(
                    repositories[wmsInventoryOperationArgs.HarvesterDatabase],
                    repositories[wmsInventoryOperationArgs.DestinationDatabase],
                    repositories[wmsInventoryOperationArgs.SourceDirectory])
                {
                    Name = wmsInventoryOperationArgs.Name
                };

                return(new OperationContext(wmsInventoryOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportWmsTransactionOperationArguments wmsTransactionOperationArgs:
                ImportWmsTransactionOperation wmsTransactionOperation = new ImportWmsTransactionOperation(
                    repositories[wmsTransactionOperationArgs.HarvesterDatabase],
                    repositories[wmsTransactionOperationArgs.DestinationDatabase],
                    repositories[wmsTransactionOperationArgs.SourceDirectory])
                {
                    Name = wmsTransactionOperationArgs.Name
                };

                return(new OperationContext(wmsTransactionOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportCounterTransactionsOperationArguments counterTransactionOperationArgs:
                ImportCounterTransactionsOperation counterOperation = new ImportCounterTransactionsOperation(
                    repositories[counterTransactionOperationArgs.DestinationDatabase],
                    repositories[counterTransactionOperationArgs.HarvesterDatabase],
                    repositories[counterTransactionOperationArgs.SourceCounter],
                    repositories.ContainsKey(counterTransactionOperationArgs.LocalJsonStorage) ? repositories[counterTransactionOperationArgs.LocalJsonStorage]: null)
                {
                    Name = counterTransactionOperationArgs.Name
                };

                return(new OperationContext(counterOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportDemographicsOperationArguments demographicOperationArgs:
                ImportDemographicsOperation demographicOperation = new ImportDemographicsOperation(
                    repositories[demographicOperationArgs.HarvesterDatabase],
                    repositories[demographicOperationArgs.DestinationDatabase],
                    repositories[demographicOperationArgs.SourceDirectory])
                {
                    Name = demographicOperationArgs.Name
                };

                return(new OperationContext(demographicOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case SyncOperationArguments syncOperationArgs:
                SyncOperation syncOperation = new SyncOperation(
                    syncOperationArgs,
                    repositories[syncOperationArgs.DestinationDirectory],
                    repositories[syncOperationArgs.SourceDirectory])
                {
                    Name = syncOperationArgs.Name
                };

                return(new OperationContext(syncOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportStatistaOperationArguments statistaOperationArgs:
                ImportStatistaOperation statistaOperation = new ImportStatistaOperation(
                    statistaOperationArgs,
                    repositories[statistaOperationArgs.HarvesterDatabase],
                    repositories[statistaOperationArgs.DestinationDatabase],
                    repositories[statistaOperationArgs.SourceDirectory])
                {
                    Name = statistaOperationArgs.Name
                };

                return(new OperationContext(statistaOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportEZProxyAuditOperationArguments auditOperationArgs:
                ImportEZProxyAuditOperation auditOperation = new ImportEZProxyAuditOperation(
                    auditOperationArgs,
                    repositories[auditOperationArgs.HarvesterDatabase],
                    repositories[auditOperationArgs.DestinationDatabase],
                    repositories[auditOperationArgs.SourceDirectory],
                    repositories[auditOperationArgs.LogDirectory])
                {
                    Name = auditOperationArgs.Name
                };

                return(new OperationContext(auditOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });

            case ImportEZProxyLogOperationArguments logOperationArgs:
                ImportEZProxyLogOperation logOperation = new ImportEZProxyLogOperation(
                    logOperationArgs,
                    repositories[logOperationArgs.HarvesterDatabase],
                    repositories[logOperationArgs.DestinationDatabase],
                    repositories[logOperationArgs.SourceDirectory])
                {
                    Name = logOperationArgs.Name
                };

                return(new OperationContext(logOperation, enumerator)
                {
                    MaximumRunsPerDay = arguments.MaximumRunsPerDay, MaximumConcurrentlyRunning = arguments.MaximumConcurrentlyRunning
                });
            }

            throw new NotImplementedException($"{arguments.Name} is not a recognized operation");
        }
 public void GetStudentLevel_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicLevel l) => ImportDemographicsOperation.GetStudentLevel(l));
 }
 public void GetStudentLevel_Should_Not_Cover_Unknown_Input()
 {
     CheckInputNotInRange((DemographicLevel l) => ImportDemographicsOperation.GetStudentLevel(l));
 }
 public void GetGender_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicGender g) => ImportDemographicsOperation.GetGender(g));
 }
 public void GetGender_Should_Not_Cover_Unknown_Input()
 {
     CheckInputNotInRange((DemographicGender g) => ImportDemographicsOperation.GetGender(g));
 }
 public void GetIsGraduate_Should_Cover_All_Inputs()
 {
     CheckInputEnumCoverage((DemographicMajor m) => ImportDemographicsOperation.GetIsGraduate(m));
 }
 public void GetIsGraduate_Should_Not_Cover_Unknown_Input()
 {
     CheckInputNotInRange((DemographicMajor m) => ImportDemographicsOperation.GetIsGraduate(m));
 }
 public void GetMajorName_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicMajor m) => ImportDemographicsOperation.GetMajorName(m));
 }
 public void GetResidenceCategory_Should_Not_Cover_Unknown_Input()
 {
     CheckInputNotInRange((DemographicResidence l) => ImportDemographicsOperation.GetResidenceCategory(l));
 }
 public void GetResidenceCategory_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicResidence l) => ImportDemographicsOperation.GetResidenceCategory(l));
 }
 public void GetResidenceName_Should_Cover_All_Inputs()
 {
     CheckInputEnumCoverage((DemographicResidence l) => ImportDemographicsOperation.GetResidenceName(l));
 }
 public void GetStudentClass_Should_Cover_All_Outputs()
 {
     CheckOutputEnumCoverage((DemographicClass l) => ImportDemographicsOperation.GetStudentClass(l));
 }