//to do here: implement the methods we need
        public static void TestAlgorithm()
        {
            // mock constraints
            var constraints = new ConstraintsCollection();

            constraints.Add(new MinimumFreeDaysConstraint(3));
            constraints.Add(new ClashesConstraint(true));

            // create courses

            var i       = 0;
            var courses = AllCoursesData.TakeWhile(x => i++ < 6).ToList();

            var scheduler    = new Scheduler();
            var allSolutions = scheduler.SolveSssp(courses, constraints);

            Console.WriteLine(allSolutions.Count());
            foreach (var solution in allSolutions)
            {
                solution.ExportToJson();
                if (constraints.IsConsistent(solution, solution.First()) == false)
                {
                    throw new Exception();
                }
                //PrintSolution(solution);
            }
        }