public void GetInvoiceStatisticReturnsInvoiceStatisticWhenGivenValidInvoiceId() { MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = _repository.GetInvoiceStatistic(VALID_MEDICAL_VENDOR_INVOICE_ID); Assert.IsNotNull(medicalVendorInvoiceStatistic); Assert.AreEqual(VALID_MEDICAL_VENDOR_INVOICE_ID, medicalVendorInvoiceStatistic.Id); }
public void CreateMedicalVendorInvoiceStatisticSetsAverageHourlyRateToZeroIfEndTimeIsNull() { AddRowToDataTable(25.33m, new DateTime(2001, 1, 1), null); MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = _medicalVendorInvoiceStatisticFactory. CreateMedicalVendorInvoiceStatistic(new PhysicianInvoiceEntity(), _medicalVendorInvoiceDataTable.Rows[0]); Assert.AreEqual(0m, medicalVendorInvoiceStatistic.AverageHourlyRate); }
public void CreateMedicalVendorInvoiceStatisticReturns1AverageRateFor60AmountInOneMinute() { const decimal invoiceAmount = 60m; var evaluationStartTime = new DateTime(2001, 1, 1, 12, 0, 0); AddRowToDataTable(invoiceAmount, evaluationStartTime, evaluationStartTime.AddMinutes(60)); MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = _medicalVendorInvoiceStatisticFactory. CreateMedicalVendorInvoiceStatistic(new PhysicianInvoiceEntity(), _medicalVendorInvoiceDataTable.Rows[0]); Assert.AreEqual(1m, medicalVendorInvoiceStatistic.AverageHourlyRate); }
public void CreateMedicalVendorInvoiceStatisticReturns0AverageRateForInstantEvaluation() { const decimal invoiceAmount = 30m; var evaluationTime = new DateTime(2001, 1, 1, 12, 0, 0); AddRowToDataTable(invoiceAmount, evaluationTime, evaluationTime); MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = _medicalVendorInvoiceStatisticFactory. CreateMedicalVendorInvoiceStatistic(new PhysicianInvoiceEntity(), _medicalVendorInvoiceDataTable.Rows[0]); Assert.AreEqual(0m, medicalVendorInvoiceStatistic.AverageHourlyRate); }
public void CreateMedicalVendorInvoiceStatisticSetsDataRowFieldsToStatisticFieldsCorrectly() { const long medicalVendorInvoiceId = 25; const decimal invoiceAmount = 25.33m; const int numberOfEvaluations = 43; var medicalVendorInvoiceEntity = new PhysicianInvoiceEntity(medicalVendorInvoiceId); AddRowToDataTable(invoiceAmount, numberOfEvaluations); MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = _medicalVendorInvoiceStatisticFactory. CreateMedicalVendorInvoiceStatistic(medicalVendorInvoiceEntity, _medicalVendorInvoiceDataTable.Rows[0]); Assert.AreEqual(medicalVendorInvoiceId, medicalVendorInvoiceStatistic.Id); Assert.AreEqual(invoiceAmount, medicalVendorInvoiceStatistic.InvoiceAmount); Assert.AreEqual(numberOfEvaluations, medicalVendorInvoiceStatistic.NumberOfEvaluations); }
public MedicalVendorInvoiceStatistic CreateMedicalVendorInvoiceStatistic(PhysicianInvoiceEntity medicalVendorInvoiceEntity, DataRow invoiceItemStatisticsForInvoice) { if (medicalVendorInvoiceEntity == null) { throw new ArgumentNullException("medicalVendorInvoiceEntity"); } var invoiceAmount = invoiceItemStatisticsForInvoice.Field <decimal>("InvoiceAmount"); var numberOfEvaluations = invoiceItemStatisticsForInvoice.Field <int>("NumberOfEvaluations"); var evaluationStartTime = invoiceItemStatisticsForInvoice.Field <DateTime?>("EvaluationStartTime"); var evaluationEndTime = invoiceItemStatisticsForInvoice.Field <DateTime?>("EvaluationEndTime"); var evaluationTimeInMinutes = (evaluationStartTime.HasValue && evaluationEndTime.HasValue) ? (decimal)(evaluationEndTime.Value - evaluationStartTime.Value).TotalMinutes : 0; var averageHourlyRate = evaluationTimeInMinutes != 0 ? invoiceAmount / evaluationTimeInMinutes : 0; var medicalVendorInvoiceStatistic = new MedicalVendorInvoiceStatistic(medicalVendorInvoiceEntity.PhysicianInvoiceId, invoiceAmount, numberOfEvaluations, averageHourlyRate); _medicalVendorInvoiceBaseFactory.SetMedicalVendorInvoiceBaseFields(medicalVendorInvoiceStatistic, medicalVendorInvoiceEntity); return(medicalVendorInvoiceStatistic); }
public List <MedicalVendorInvoiceStatistic> CreateMedicalVendorInvoiceStatistics(IEnumerable <PhysicianInvoiceEntity> medicalVendorInvoiceEntities, DataTable medicalVendorInvoiceItemStatistics) { if (medicalVendorInvoiceEntities == null) { throw new ArgumentNullException("medicalVendorInvoiceEntities"); } if (medicalVendorInvoiceItemStatistics == null) { throw new ArgumentNullException("medicalVendorInvoiceItemStatistics"); } var medicalVendorInvoices = new List <MedicalVendorInvoiceStatistic>(); foreach (var medicalVendorInvoiceEntity in medicalVendorInvoiceEntities) { DataRow invoiceItemStatisticsForInvoice = medicalVendorInvoiceItemStatistics. Select("MedicalVendorInvoiceId = " + medicalVendorInvoiceEntity.PhysicianInvoiceId).Single(); MedicalVendorInvoiceStatistic medicalVendorInvoiceStatistic = CreateMedicalVendorInvoiceStatistic (medicalVendorInvoiceEntity, invoiceItemStatisticsForInvoice); medicalVendorInvoices.Add(medicalVendorInvoiceStatistic); } return(medicalVendorInvoices); }