public void test_creating_solution_with_given_order(int machinesCount, List <Job> jobs, List <int> jobsOrder, int timeSpan)
        {
            // Act
            var solution = new Core.JobScheduling.FlowShop.Solution(machinesCount, jobs, jobsOrder);

            // Assert
            Assert.AreEqual(solution.TimeSpan, timeSpan);
        }
        public void test_creating_random_solution()
        {
            // Act
            var solution1 = new Core.JobScheduling.FlowShop.Solution(4, jobs);
            var solution2 = new Core.JobScheduling.FlowShop.Solution(4, jobs);

            // Assert
            Assert.AreNotEqual(solution1, solution2);
        }
        public void test_getting_possible_crossing_positions(List <int> jobsList1, List <int> jobsList2, List <int> expectedCrossingPositions)
        {
            // Arrange
            var solution1 = new Core.JobScheduling.FlowShop.Solution()
            {
                JobsOrder = jobsList1
            };
            var solution2 = new Core.JobScheduling.FlowShop.Solution()
            {
                JobsOrder = jobsList2
            };

            // Act
            var result = solution1.GetPossibleCrossingPositions(solution2);

            // Assert
            Assert.AreEqual(expectedCrossingPositions, result);
        }