Пример #1
0
        static void Execute(Worker firstWorker, Worker secoundWorker)
        {
            Console.WriteLine($"{firstWorker.Name}' s data");
            Console.WriteLine($"Working hours: [{firstWorker.WorkingHours.Start.ToString("HH:mm")} - {firstWorker.WorkingHours.End.ToString("HH:mm")}]");
            foreach (var meeting in firstWorker.Meetings)
            {
                Console.WriteLine($"[{meeting.Start.ToString("HH:mm")} - {meeting.End.ToString("HH: mm")}]");
            }

            Console.WriteLine();

            Console.WriteLine($"{secoundWorker.Name}' s data");
            Console.WriteLine($"Working hours: [{secoundWorker.WorkingHours.Start.ToString("HH:mm")} - {secoundWorker.WorkingHours.End.ToString("HH:mm")}]");
            foreach (var meeting in secoundWorker.Meetings)
            {
                Console.WriteLine($"[{meeting.Start.ToString("HH:mm")} - {meeting.End.ToString("HH:mm")}]");
            }
            DataSetters dataSetter = new DataSetters();

            var creatAbstractWorker = dataSetter.CreatAbstractWorker(firstWorker, secoundWorker);
            var listOfMeetings      = dataSetter.CreatListOfMeetingsForWorkers(creatAbstractWorker);

            string output = "[";

            for (int i = 0; i < listOfMeetings.Count; i++)
            {
                output += $"[{listOfMeetings[i].Start.ToString("HH:mm")} - {listOfMeetings[i].End.ToString("HH:mm")}], ";
            }

            Console.WriteLine("\nWorkers can meet at: " + output.TrimEnd(new char[] { ',', ' ' }) + "]");
        }
Пример #2
0
        public void CanMeetTogetherTest_2()
        {
            DataSetters ds = new DataSetters();

            Worker firstWorker = new Worker
            {
                Name         = "Wojtek",
                WorkingHours = new WorkingHours(DateTime.Parse("09:00"), DateTime.Parse("20:00")),
                Meetings     = new List <Meeting>
                {
                    new Meeting(DateTime.Parse("09:00"), DateTime.Parse("10:30")),
                    new Meeting(DateTime.Parse("12:00"), DateTime.Parse("13:00")),
                    new Meeting(DateTime.Parse("16:00"), DateTime.Parse("18:00")),
                    new Meeting(DateTime.Parse("18:30"), DateTime.Parse("19:30"))
                }
            };
            Worker secoundWorker = new Worker
            {
                Name         = "Michał",
                WorkingHours = new WorkingHours(DateTime.Parse("10:00"), DateTime.Parse("20:00")),
                Meetings     = new List <Meeting>
                {
                    new Meeting(DateTime.Parse("10:00"), DateTime.Parse("11:30")),
                    new Meeting(DateTime.Parse("12:30"), DateTime.Parse("14:30")),
                    new Meeting(DateTime.Parse("14:30"), DateTime.Parse("15:00")),
                    new Meeting(DateTime.Parse("16:00"), DateTime.Parse("17:00"))
                }
            };
            var abstractWorker = ds.CreatAbstractWorker(firstWorker, secoundWorker);

            var actualMeetings = ds.CreatListOfMeetingsForWorkers(abstractWorker);

            //[["11:30","12:00"], ["15:00", "16:00"], ["18:00", "18:30"]]
            List <Meeting> expectedMeetings = new List <Meeting>
            {
                new Meeting(DateTime.Parse("11:30"), DateTime.Parse("12:00")),
                new Meeting(DateTime.Parse("15:00"), DateTime.Parse("16:00")),
                new Meeting(DateTime.Parse("18:00"), DateTime.Parse("18:30")),
                new Meeting(DateTime.Parse("19:30"), DateTime.Parse("20:00"))
            };

            if (actualMeetings.Count == 4)
            {
                for (int i = 0; i < 4; i++)
                {
                    Assert.AreEqual(expectedMeetings[i].Start, actualMeetings[i].Start);
                    Assert.AreEqual(expectedMeetings[i].End, actualMeetings[i].End);
                }
            }
            else
            {
                throw new AssertFailedException("lists have a different number of objects");
            }
        }