public void TwoPatientsRegistration() { _hospitalResources.Doctors = new List <DoctorResource>() { new DoctorResource("DoctorWho", new List <string>() { "Oncologist", "Cosmologist" }) }; _hospitalResources.TreatmentRooms = new List <TreatmentRoomResource>() { new TreatmentRoomResource() { Name = "Room1", TreatmentMachine = "Machine1", FullyBookedDays = new List <DateTime>() { DateTime.Now.Date, DateTime.Now.Date.AddDays(1) } } }; _hospitalResources.TreatmentMachines = new List <TreatmentMachineResource>() { new TreatmentMachineResource("Machine1", "Simple") }; var logic = new LogicApplication(_hospitalResources); _mockedPatient.Setup(p => p.GetPatientsRegistered()).Returns(new List <PatientRegistrationModel>() { new PatientRegistrationModel() { Name = "Stelios", Condition = "cancer", Topography = "breast" }, new PatientRegistrationModel() { Name = "Erika", Condition = "cancer", Topography = "breast" } }); var runAHospital = new RunAHospital(_mockedHospitalData.Object, logic, _mockedPatient.Object); var sut = runAHospital.BookAppointments(); Assert.NotEmpty(sut); Assert.Equal("DoctorWho", sut[0].DoctorName); Assert.Equal("Room1", sut[0].RoomName); Assert.Equal(DateTime.Now.Date.AddDays(2), sut[0].Date); }
public void GetConsultationTests(string patientName, string expectedDoctorSpecialization, string expectedRoom, bool willGetAnAppointment) { _hospitalResources.Doctors = new List <DoctorResource>() { new DoctorResource("DoctorWho", new List <string>() { "Oncologist", "Cosmologist" }) }; _hospitalResources.TreatmentRooms = new List <TreatmentRoomResource>() { new TreatmentRoomResource() { Name = "Room1", TreatmentMachine = "Machine1", FullyBookedDays = new List <DateTime>() } }; _hospitalResources.TreatmentMachines = new List <TreatmentMachineResource>() { new TreatmentMachineResource("Machine1", "Simple") }; var logicApplication = new LogicApplication(_hospitalResources); var test = new List <PatientAndRequirements>() { new PatientAndRequirements() { DoctorsSpecialization = expectedDoctorSpecialization, Name = patientName, UniqueId = Guid.NewGuid(), TreatmentRoom = new List <string>() { expectedRoom } } }; var sut = logicApplication.GetConsultation(test); Assert.Equal(sut.Any(), willGetAnAppointment); }
public void IdentifyResourcesTests(string patientName, string condition, string topology, string expectedDoctorSpecialization, string expectedRoom) { _hospitalResources.Doctors = new List <DoctorResource>() { new DoctorResource("DoctorWho", new List <string>() { "Oncologist", "Cosmologist" }) }; _hospitalResources.TreatmentRooms = new List <TreatmentRoomResource>() { new TreatmentRoomResource() { Name = "Room1", TreatmentMachine = "Machine1", FullyBookedDays = new List <DateTime>() } }; _hospitalResources.TreatmentMachines = new List <TreatmentMachineResource>() { new TreatmentMachineResource("Machine1", "Simple") }; var logicApplication = new LogicApplication(_hospitalResources); _mockedPatient.Setup(p => p.GetPatientsRegistered()) .Returns(new List <PatientRegistrationModel>() { new PatientRegistrationModel() { Name = patientName, Condition = condition, Topography = topology } }); var patients = _mockedPatient.Object.GetPatientsRegistered(); var sut = patients.Select(x => logicApplication.IdentifyResources(x)).ToList(); Assert.Equal(expectedDoctorSpecialization, sut[0].DoctorsSpecialization); Assert.Equal(expectedRoom, sut[0].TreatmentRoom.FirstOrDefault()); }