Example #1
0
 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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }