public JobsSorter(IStringValidator stringValidator, JobsBuilder jobsBuilder, JobsValidator jobsValidator, ISortAlgorithm sortAlgorithm) { _stringValidator = stringValidator; _jobsBuilder = jobsBuilder; _jobsValidator = jobsValidator; _sortAlgorithm = sortAlgorithm; }
public static JobsSorter CreateJobsSorter() { if (instance == null) { var stringValidator = new StringValidatorForCharJobs(); var jobsBuilder = new JobsBuilder(); var jobsValidator = new JobsValidator(); var sortAlgorithm = new TopologicalSortAlgorithm(); instance = new JobsSorter(stringValidator, jobsBuilder, jobsValidator, sortAlgorithm); } return(instance); }
public void IsValidListOfJobsTest_EmptyListOfJobs() { // arrange var jobs = new List <Job>(); var expected = true; var jobsValidator = new JobsValidator(); // act var actual = jobsValidator.IsValidListOfJobs(jobs); // assert Assert.AreEqual(expected, actual); }
public void IsValidListOfJobsTest_SelfDependency1() { // arrange jobA.Dependencies.Add(jobA); var jobs = new List <Job> { jobA }; var expected = false; var jobsValidator = new JobsValidator(); // act var actual = jobsValidator.IsValidListOfJobs(jobs); // assert Assert.AreEqual(expected, actual); }
public void IsValidListOfJobsTest_Duplicates1() { // arrange var jobs = new List <Job> { jobA, jobA }; var expected = false; var jobsValidator = new JobsValidator(); // act var actual = jobsValidator.IsValidListOfJobs(jobs); // assert Assert.AreEqual(expected, actual); }
public void IsValidListOfJobsTest_Duplicates3() { // arrange var jobACopy = new Job('A'); jobACopy.Dependencies.Add(jobB); var jobs = new List <Job> { jobA, jobACopy }; var expected = false; var jobsValidator = new JobsValidator(); // act var actual = jobsValidator.IsValidListOfJobs(jobs); // assert Assert.AreEqual(expected, actual); }