예제 #1
0
        //Carrega linhas do arquivo e itera sobre elas splitando por ";", adicionando os elementos aos respectivas entidades e contando o número de falhas
        //Válido para LoadCustomersFromFile e LoadDoctorsFromFile
        private static void LoadMedicalAppointmentsFromFile()
        {
            var lines = LoadFromFile();

            Console.WriteLine("Carregando...");
            int failCounter = 0;

            foreach (string line in lines)
            {
                var temp = line.Split(';');
                try
                {
                    _medicalClinic.AddMedicalAppointment(
                        new Cpf(temp[0]),
                        (MedicalAppointmentType)int.Parse(temp[1]),
                        (MedicalSpecialty)int.Parse(temp[2]),
                        Convert.ToDateTime(temp[3]));
                }
                catch (System.Exception)
                {
                    failCounter++;
                }
            }

            Console.WriteLine($"Foram carregados {_medicalClinic.CountMedicalAppointment()} consultas, {failCounter} falharam");
        }
예제 #2
0
        public static void Should_throw_exception_when_add_an_existent_medical_appointment_in_medical_clinic()
        {
            // arrange
            var medicalClinic = new MedicalClinic();
            var cpf           = (Cpf)"123456789-10";

            medicalClinic.AddCustomer(cpf, "name", CustomerType.Normal);
            var crm = (Crm)"12345";

            medicalClinic.AddDoctor(crm, "name", MedicalSpecialty.Orthopedy);
            var date = DateTime.Now;

            medicalClinic.AddMedicalAppointment(date, MedicalAppointmentType.OnDemand, cpf, crm);

            // act & assert
            Assert.Throws <InvalidOperationException>(() => medicalClinic.AddMedicalAppointment(date, MedicalAppointmentType.OnDemand, cpf, crm));
        }
예제 #3
0
        public static void Should_add_a_medical_appointment_in_medical_clinic()
        {
            // arrange
            var medicalClinic = new MedicalClinic();
            var cpf           = (Cpf)"123456789-10";

            medicalClinic.AddCustomer(cpf, "name", CustomerType.Normal);
            var crm = (Crm)"12345";

            medicalClinic.AddDoctor(crm, "name", MedicalSpecialty.Orthopedy);

            // act
            medicalClinic.AddMedicalAppointment(DateTime.Now, MedicalAppointmentType.OnDemand, cpf, crm);

            // assert
            Assert.Equal(1, medicalClinic.CountMedicalAppointment());
        }