public void AddClientTest()
        {
            // arrange
            IInsuranceCompany testInsuranceCompany = new InsuranceCompany();

            // act
            InsuranceAccount testClient = new InsuranceAccount();
            testInsuranceCompany.AddClient(testClient);

            // assert
            Assert.AreSame(testClient, testInsuranceCompany.Clients.LastOrDefault());
        }
        public void InsurenceCompanyShouldPayBill()
        {
            // arrange
            IInsuranceCompany testInsuranceCompany = new InsuranceCompany();
            InsuranceAccount testClient = new InsuranceAccount();
            testInsuranceCompany.AddClient(testClient);
            decimal oldBalance = testInsuranceCompany.Clients.LastOrDefault().Balance;

            // act
            testInsuranceCompany.PayBill(testInsuranceCompany.Clients.LastOrDefault(), new Bill());

            // assert
            Assert.IsTrue(oldBalance > testInsuranceCompany.Clients.LastOrDefault().Balance);
        }
Exemple #3
0
        public void UseCaseTest()
        {
            // arrange

            IClinic testClinic = new Clinic();
            IDoctor testDoctor = new Dentist();
            IPatient testPatient = new Patient();
            IInsuranceCompany testInsuranceCompany = new InsuranceCompany();
            testInsuranceCompany.Clients.Add(testPatient.Insurance);
            testClinic.AddDoctor(testDoctor);

            // act

            //Пациент приходит в больницу с жалобой
            testPatient.PatientComplaint.Symptoms.Add(Symptom.Headache);
            testClinic.AddPatient(testPatient);

            //Его направляют к нужному врачу(лор, ортопед, стоматолог).
            IDoctor doctorForPatient = testClinic.GiveDoctor(testClinic.Patients.LastOrDefault());

            //Доктор ставит диагноз и выписывает назначение.
            Diagnosis diagnosisForPatient = doctorForPatient.Diagnosticate(testPatient.PatientComplaint);
            Treatment appointmentForPatient = doctorForPatient.PrescribeTreatment(diagnosisForPatient);

            //Больница выставляет счет страховой компании пациента.
            Bill billForPatient = testClinic.GiveBill(appointmentForPatient);

            //Страховая компания оплачивает счет.
            testPatient.PayBill();

            //После оплаты больница начинает лечение.
            testClinic.Cure(testPatient, diagnosisForPatient, appointmentForPatient);

            // assert
            Assert.IsNull(testPatient.PatientComplaint.Symptoms);
        }