コード例 #1
0
ファイル: PatientDalTests.cs プロジェクト: mjgasior/Fulbert
        public void Add_appointment_to_a_patient()
        {
            // Arrange
            string   firstName       = "Type O Negative";
            string   lastName        = "Carnivore";
            DateTime appointmentDate = DateTime.Now;
            string   interview       = "The patient is quite ill right now";

            DatabaseTools.AddPatientToDatabase(firstName, lastName);

            IEnumerable <PatientEntity> patients = _patientDal.GetAllPatients();
            PatientEntity patient = patients.First(x => x.FirstName == firstName);

            // Act
            patient.AddAppointment(new AppointmentEntity {
                Date = appointmentDate, Interview = interview
            });
            _patientDal.SaveOrUpdatePatient(patient);

            // Assert
            IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments();

            Assert.That(appointments.Count, Is.EqualTo(1));
            AppointmentEntity resultAppointment = appointments.First();

            Assert.AreEqual(resultAppointment.Date.Date, appointmentDate.Date);
            StringAssert.Contains(interview, resultAppointment.Interview);
            Assert.AreEqual(resultAppointment.Patient.Id, appointments.Last().Patient.Id);
        }
コード例 #2
0
ファイル: PatientDalTests.cs プロジェクト: mjgasior/Fulbert
        public void Add_additional_appointment_to_a_patient()
        {
            // Arrange
            string   firstName            = "Type O Negative";
            string   lastName             = "Carnivore";
            DateTime newerAppointmentDate = DateTime.Now;
            DateTime olderAppointmentDate = DateTime.Now - TimeSpan.FromDays(7);

            DatabaseTools.AddPatientToDatabase(firstName, lastName, newerAppointmentDate);

            IEnumerable <PatientEntity> patients = _patientDal.GetAllPatients();
            PatientEntity patient = patients.First(x => x.FirstName == firstName);

            // Act
            patient.AddAppointment(new AppointmentEntity {
                Date = olderAppointmentDate
            });
            _patientDal.SaveOrUpdatePatient(patient);

            // Assert
            IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments();

            appointments.OrderBy(x => x.Date);
            Assert.That(appointments.Count, Is.EqualTo(2));
            Assert.AreEqual(appointments.First().Date.Date, olderAppointmentDate.Date);
            Assert.AreEqual(appointments.Last().Date.Date, newerAppointmentDate.Date);

            Assert.AreEqual(appointments.First().Patient.Id, appointments.Last().Patient.Id);
        }
コード例 #3
0
ファイル: PatientDalTests.cs プロジェクト: mjgasior/Fulbert
        public void Delete_patient_from_database()
        {
            // Arrange
            string   firstName       = "Josh";
            string   lastName        = "Silver";
            DateTime appointmentDate = DateTime.Now;

            DatabaseTools.AddPatientToDatabase(firstName, lastName, appointmentDate);
            IList <PatientEntity> patients = DatabaseTools.GetPatientFromDatabase(firstName, lastName);

            // Act
            _patientDal.DeletePatient(patients.First());

            // Assert
            IList <PatientEntity> patientsAfterDelete = DatabaseTools.GetPatientFromDatabase(firstName, lastName);

            Assert.IsNotNull(patientsAfterDelete);
            Assert.IsEmpty(patientsAfterDelete);

            IList <AppointmentEntity> appointments = DatabaseTools.GetAllAppointments();

            Assert.IsNotNull(appointments);
            Assert.IsEmpty(appointments);
        }