public void GivenMultipleRides_ShouldReturnInvoiceSummary() { // Arrange Ride[] rides = { new Ride(3, 5), new Ride(5, 4), new Ride(2, 5) }; InvoiceSummary expectedSummary = new InvoiceSummary(3, 114, 38); invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); // Act InvoiceSummary actualSummary = invoiceGenerator.CalculateFare(rides); //Assert Assert.AreEqual(expectedSummary, actualSummary); }
public void GivenUserIdAndRides_WhenUserIDIsValid_ShouldReturnTotalFare() { string userID = "*****@*****.**"; double distance = 2.0; int time = 5; Ride[] ride = { new Ride(Category.RideType.NORMAL, distance, time), new Ride(Category.RideType.NORMAL, distance, time) }; this.cabInvoiceGenerator.AddRide(userID, ride); InvoiceSummary summary = this.cabInvoiceGenerator.GetInvoiceSummary(Category.RideType.NORMAL, userID); InvoiceSummary expectedInvoiceSummary = new InvoiceSummary(2, 50.0); Assert.AreEqual(expectedInvoiceSummary, summary); }
public void GivenMultipleRides_WhenAnalyze_ShouldReturnInvoiceSummary() { //Create instance of invoice generator for normal ride invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; //Generating Summary for Rides InvoiceSummary summary = invoiceGenerator.CalculateFare(rides); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30.0); //Asserting Values Assert.AreEqual(expectedSummary, summary); }
public void GivenDistanceAndTimeForMultipleRides_WhenProper_ShouldReturnInvoiceSummary() { try { InvoiceSummary invoiceSummary = new InvoiceSummary(2, 605); Rides[] rides = { new Rides(30, 30), new Rides(25, 25) }; InvoiceSummary invoiceSummaryOne = this.cabInvoiceGenerator.CalculateFare(rides); Assert.AreEqual(invoiceSummary, invoiceSummaryOne); // check value } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void InvoiceReturns_NoOfTrips() { //// Generating object of class InvoiceGenerator invoice = new InvoiceGenerator(); //// Calculating average fare Ride[] rides = { new Ride(10, 60), new Ride(20, 70) }; InvoiceSummary actual = invoice.EnhancedInvoice(rides); InvoiceSummary expected = new InvoiceSummary(2, 440); ////Checking if the test case passes Assert.AreEqual(expected.mNoOfRides, actual.mNoOfRides); }
public void GivenMutipleRides_GetEnhancedInvoice() { Ride[] rides = { new Ride(2, 5), new Ride(2, 5) }; InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); InvoiceSummary invoiceSummary = invoiceGenerator.calculateFare(rides); int expectedNoOfRides = 2; double expectedTotalFare = 50; double expectedAvgFare = 25; Assert.AreEqual(expectedNoOfRides, invoiceSummary.numberOfRides); Assert.AreEqual(expectedTotalFare, invoiceSummary.totalFare); Assert.AreEqual(expectedAvgFare, invoiceSummary.avgFare); }
public void GivenMultipleRides_WhenCalculated_ThenShouldReturnInvoiceSummery() { double firstRideDistance = 25.12; double secondRideDistance = 12.39; double firstRideTime = 40; double secondRideTime = 25; Rides[] rides = { new Rides(Rides.RideType.NORMAL_RIDE, firstRideDistance, firstRideTime), new Rides(Rides.RideType.NORMAL_RIDE, secondRideDistance, secondRideTime) }; InvoiceSummary invoiceSummary = this.cabInvoiceGenerator.GetInvoiceSummary(rides); InvoiceSummary summary = new InvoiceSummary(2, 440.1); Assert.AreEqual(summary, invoiceSummary); }
public void Get_Total_Fare() { List <Ride> ls = new List <Ride> { new Ride { distance_in_km = 190, time_in_min = 0 }, new Ride { distance_in_km = 0, time_in_min = 55 } }; InvoiceSummary objj = new InvoiceSummary(); Assert.AreEqual(1955.0, objj.Total_fare("Normal", ls)); }
public void GivenDistanceAndTimeOfMultiRidesToInvoiceGenerator_WhenCalculate_ShouldReturnTotalFare() { /// Multiple ride array Ride[] rides = { new Ride(CabRide.NORMAL, 2.0, 1.0), new Ride(CabRide.NORMAL, 2.5, 1.5) }; var exceptedSummery = 47.5; InvoiceSummary returnSummery = invoiceGenerator.CalculateCabFare(rides); Assert.AreEqual(exceptedSummery, returnSummery.totalFare); }
public void GivenInvoiceGenerator_WhenUsingInvoiceSummary_ShouldReturnInvoiceSummaryWithAvgRides() { //Creating Instance of InviceGenerator For Normal Ride. invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; //Generating Summary For Rides InvoiceSummary summary = invoiceGenerator.CalculateFare(rides); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30.0, 3); //Asserting Values Assert.AreEqual(expectedSummary, summary); }
public void GivenMultipleRides_ShouldReturnInvoiceSummary() { // Arrange Ride[] rides = { new Ride(4, 8), new Ride(6, 10), new Ride(10, 12), new Ride(1, 4) }; InvoiceSummary expectedSummary = new InvoiceSummary(4, 244, 61); invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); // Act InvoiceSummary actualSummary = invoiceGenerator.CalculateFare(rides); //Assert Assert.AreEqual(expectedSummary, actualSummary); }
public void GivenNullRideData_ShouldThrowCustomException() { /// Arrange Ride[] rides = null; invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); try { InvoiceSummary actualSummary = invoiceGenerator.CalculateFare(rides); } catch (Exception e) { Assert.AreEqual("Rides are null", e.Message); } }
public void GivenMultipleRides_WhenPassingWrongArgument_ShouldReturnInvoiceSummary() { try { cabInVoiceGenerator invoiceGenerator = new cabInVoiceGenerator(); Ride[] rides = { new Ride(0, 0), new Ride(0, 0) }; InvoiceSummary summary = invoiceGenerator.CalculateMultipleFareUsingSummery(rides); } catch (CabInvoiceAnalyserException e) { Assert.AreEqual(CabInvoiceAnalyserException.ExceptionType.INVALID_ARGUMENT_EXCEPTION, e.type); } }
public void GivenUserIDAndMultipleRides_WhenProper_ShouldReturnInvoiceSummary() { String userId = "pranav805"; Ride[] rides = { new Ride(3.0, 5, RideType.NORMAL), new Ride(0.1, 1, RideType.PREMIUM), new Ride(3.0, 5, RideType.PREMIUM) }; invoiceService.AddRides(userId, rides); InvoiceSummary summary = invoiceService.GetInvoiceSummary(userId); InvoiceSummary expectedInvoiceSummary = new InvoiceSummary(3, 110.0); bool result = summary.Equals(expectedInvoiceSummary); Assert.AreEqual(true, result); }
public void GivenPremiumRide_WhenToCalculateFare_ShouldReturnPremiumFare() { string userid = "2"; Ride[] rides = { new Ride(3, 3) }; invoiceGenerator.AddUserRides(userid, rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceByuserId(userid, RIDETYPE.PREMUIM_RIDE); InvoiceSummary invoiceSummary1 = new InvoiceSummary(1, 51); Assert.AreEqual(invoiceSummary, invoiceSummary1); }
public void GivenUserId_AndNullRides_RideRepository_ShouldThrow_CabInvoiceException() { try { Ride[] rides = null; RideRepository rideRepoTestObj = new RideRepository(); rideRepoTestObj.AddRide("user1", rides); InvoiceSummary result = rideRepoTestObj.GetInvoice("user1"); } catch (Exception e) { Assert.AreEqual(e.Message, "Rides Are Null"); } }
//Test case 6 - Should return enhanced cab invoice summary on giving valid data public void Given_ValidData_Should_Return_EnhancedCabInvoiceSummary() { invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); rides = new Ride[] { new Ride(10, 60), new Ride(5, 30), new Ride(3, 20) }; invoiceGenerator = new InvoiceGenerator(); double fare = invoiceGenerator.CalculateFare(rides); double average = fare / rides.Length; InvoiceSummary data = new InvoiceSummary(rides.Length, fare); Assert.AreEqual(data.numberOfRides, rides.Length); Assert.AreEqual(data.averageFare, average); Assert.AreEqual(data.totalFare, fare); }
public void GivenMultipleRides_ShouldReturnTotalFare() { Rides firstRide = new Rides(2.0, 5, "Premium"); Rides secondRide = new Rides(0.1, 1, "Normal"); List <Rides> rides = new List <Rides> { firstRide, secondRide }; UserAccount.AddRides(this.USERID, rides); InvoiceSummary invoiceSummary = this.INVOICEGENERATOR.GetInvoiceSummary(this.USERID); double expected = 30; Assert.AreEqual(expected, invoiceSummary.TotalFare); }
public void GivenMultipleRides_Should_Return_NumberOfRide_AggregateFareAndAverageFare() { ///Arrange invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2.0, 9), new Ride(0.1, 1), new Ride(0.2, 1) }; ///Act InvoiceSummary invoiceSummary = invoiceGenerator.CalculateFare(rides); var result = invoiceSummary.GetHashCode(); InvoiceSummary expectedSummary = new InvoiceSummary(3, 39.0, 13.0); var resultExpectedHashCode = expectedSummary.GetHashCode(); ///Assert Assert.AreEqual(invoiceSummary, expectedSummary); }
public async Task <InvoiceSummary> SaveInvoice(InvoiceSummary invoice) { BaseAPI <InvoiceSummary> api = new BaseAPI <InvoiceSummary>(); api.RelativeUrl = "term/saveinvoice"; api.ParameterDictionary.Add("InvoiceID", invoice.InvoiceID.ToString()); api.ParameterDictionary.Add("TermID", invoice.TermID.ToString()); api.ParameterDictionary.Add("InvoiceDate", invoice.InvoiceDate.ToString()); api.ParameterDictionary.Add("NumberOfSessions", invoice.NumberOfSessions.ToString()); api.ParameterDictionary.Add("TotalAmount", invoice.TotalAmount.ToString()); api.ParameterDictionary.Add("WhenPaid", invoice.WhenPaid.ToString()); return(await api.GetAsync()); }
public static string Create(InvoiceSummary invoice) { //TODO: key should be the registered date? var fmt = new FilenameFormat { InvoiceDate = invoice.InvoiceDate ?? DateTime.MinValue, Supplier = invoice.Supplier, Id = invoice.Id, RegisteredDate = invoice.CreatedDate ?? DateTime.MinValue, State = invoice.TaskState, }; return(fmt.ToString()); }
public void GivenUserIdOfPremiumAndNormalUser_WhenCalculated_ShouldReturnsTotalFare() { string userId = "Birendra@12345"; Ride[] rides = { new Ride(CabRide.NORMAL, 2.0, 1.0), new Ride(CabRide.PREMIUM, 2.5, 1.5) }; rideRepository.AddRides(userId, rides); InvoiceSummary retunTotal = invoiceGenerator.CalculateCabFare(rideRepository.GetRides(userId)); Assert.AreEqual(61.5, retunTotal.totalFare); }
public void GivenUserIdOfMultiRidesToUserId_ShouldTotalFare() { string userId = "Pranali@123"; Ride[] rides = { new Ride("normal", 2.0, 1), new Ride("premium", 2.5, 1) }; this.rideRepository.AddRides(userId, rides); InvoiceSummary retunTotal = this.invoice.CalculateFare(this.rideRepository.GetRides(userId)); Assert.AreEqual(60.5, retunTotal.TotalFare); }
public void GivenMultipleRidesShouldReturnInvoiceSummarywithAverageFare() { //Creating instance of invoice generator InvoiceGenerator invoiceGenerator = new InvoiceGenerator(); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; //Generating Summary for rides InvoiceSummary summary = invoiceGenerator.CalculateFare(rides); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30.0); //Asserting values with average in equals to formula in invoice summary Assert.AreEqual(expectedSummary, summary); }
public void GivenNormalRide_WhenToCalculateFare_ShouldReturnNormalFare() { string userID = "sangli"; List <Ride> rides = new List <Ride> { new Ride(2.0, 5), new Ride(2.0, 5) }; RideRepository rideRepository = new RideRepository(); rideRepository.AddUser(userID, rides); InvoiceSummary summary = rideRepository.GetInvoiceSummary("sangli", RideType.NORMAL_RIDE); InvoiceSummary Expectedsummary = new InvoiceSummary(2, 50, 25); Assert.AreEqual(Expectedsummary, summary); }
public void GivenMultipleRidesShouldReturnInvoiceSummary() { //Creating instance of invoice generator InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.PREMIUM); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; //Generating Summary for rides InvoiceSummary summary = invoiceGenerator.CalculateFare(rides); InvoiceSummary expectedSummary = new InvoiceSummary(2, 60.0); //Asserting values Assert.AreEqual(expectedSummary, summary); }
public void WhenGivenMultipleRidesGetInvoiceSummary() { // Create list for multiple rides List <Ride> rides = new List <Ride>(); rides.Add(new Ride(RideType.NORMAL, 5, 15)); rides.Add(new Ride(RideType.NORMAL, 5, 15)); // Get invoice summary for multiple rides InvoiceSummary actual = generator.GetInvoiceSummary(rides); InvoiceSummary expected = new InvoiceSummary(130, 2, 65); Assert.AreEqual(expected, actual); }
public void givenUserId_WhenInCorrect_ShouldThrowInvalidUserException() { try { string userID = "pune"; List <Ride> rides = new List <Ride> { new Ride(2.0, 5), new Ride(2.0, 5) }; RideRepository rideRepository = new RideRepository(); rideRepository.AddUser(userID, rides); InvoiceSummary summary = rideRepository.GetInvoiceSummary("sangli", RideType.NORMAL_RIDE); } catch (CabInvoiceException e) { Assert.AreEqual(CabInvoiceException.ExceptionType.INVAILD_USERID, e.type); } }
public void GivenEmptyRides_WhenCalculated_shouldReturnCustomException() { try { string userId = "*****@*****.**"; this.invoiceService.ValidateUserId(userId); Ride[] rides = { }; this.invoiceService.AddRides(userId, rides); InvoiceSummary summary = this.invoiceService.GetInvoiceSummary(userId); } catch (CabInvoiceException e) { throw new CabInvoiceException(CabInvoiceException.ExceptionType.Empty_data, e.Message); } }
public void GivenMultipleRides_ShouldReturnInvoiceSummaryWithAvg() { // Arrange invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; // Act InvoiceSummary invoiceSummary = invoiceGenerator.CalculateAvgFare(rides); // if both the objects are equal then get the same HashCode for both the objects var resultHashCode = invoiceSummary.GetHashCode(); InvoiceSummary expectedInvoiceSummary = new InvoiceSummary(30.0, 2, 15.0); var resulExpectedHashCode = expectedInvoiceSummary.GetHashCode(); // Assert Assert.AreEqual(expectedInvoiceSummary, invoiceSummary); }
/// <summary> /// Returns the InvoiceSummary of the invoice /// </summary> /// <param name="invoice"></param> /// <returns></returns> private InvoiceSummary GetInvoiceSummary(Invoice invoice) { InvoiceSummary invoiceSummary = new InvoiceSummary(); invoiceSummary.LineItemCount = invoice.LineItem.Count().ToString(); invoiceSummary.TotalLineItemAmount = (from cc in invoice.LineItem select cc.ChargeAmount[0].Value + cc.ChargeAmount[1].Value).Sum(); invoiceSummary.TotalAmount = new TotalAmount() { Value = (from cc in invoice.LineItem select cc.TotalNetAmount).Sum() }; invoiceSummary.AddOnCharges = new InvoiceSummaryAddOnCharges[] { new InvoiceSummaryAddOnCharges(){AddOnChargeName = "ISCAllowed", AddOnChargeAmount = (from cc in invoice.LineItem select (from ccc in cc.AddOnCharges where ccc.AddOnChargeName == "ISCAllowed" select ccc.AddOnChargeAmount).FirstOrDefault()).Sum() }, new InvoiceSummaryAddOnCharges(){AddOnChargeName = "OtherChargesAllowed", AddOnChargeAmount = (from cc in invoice.LineItem select (from ccc in cc.AddOnCharges where ccc.AddOnChargeName == "OtherChargesAllowed" select ccc.AddOnChargeAmount).FirstOrDefault()).Sum() } }; invoiceSummary.TotalAmountWithoutVAT = invoiceSummary.TotalAmount.Value; invoiceSummary.TotalAmountWithoutVATSpecified = true; invoiceSummary.TotalAmountInClearanceCurrency = invoiceSummary.TotalAmount.Value; invoiceSummary.TotalAmountInClearanceCurrencySpecified = true; return invoiceSummary; }