public void GivenMultipleRides_WhenToCalculate_ShouldReturnsInvoiceSummary() { Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary(rides); InvoiceSummary invoiceSummary1 = new InvoiceSummary(2, 15); Assert.AreEqual(invoiceSummary, invoiceSummary1); }
public void GivenUserId_InvoiceServiceGetsListOfRides_ShouldReturnInvoiceSummary() { // Arrange invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); string userId1 = "USER1"; string userId2 = "USER2"; Ride[] rides1 = { new Ride(4, 8), new Ride(6, 10), new Ride(10, 12), new Ride(1, 4) }; Ride[] rides2 = { new Ride(1, 5), new Ride(4, 7), new Ride(5, 8) }; invoiceGenerator.AddRides(userId1, rides1); invoiceGenerator.AddRides(userId2, rides2); InvoiceSummary expectedSummary1 = new InvoiceSummary(4, 244, 61); InvoiceSummary expectedSummary2 = new InvoiceSummary(3, 120, 40); // Act InvoiceSummary actualSummary1 = invoiceGenerator.GetInvoiceSummary(userId1); InvoiceSummary actualSummary2 = invoiceGenerator.GetInvoiceSummary(userId2); //Assert Assert.AreEqual(expectedSummary1, actualSummary1); Assert.AreEqual(expectedSummary2, actualSummary2); }
public void givenListOfRides_WhenCalculated_ShouldReturnInvoiceInformation() { rideList = new List <Ride> { new Ride(5, 20), new Ride(3, 15), new Ride(2, 10) }; double expectedFare = 145; int expectedRides = 3; double expectedAverage = expectedFare / expectedRides; CabInfo info = invoiceGenerator.GetInvoiceSummary(rideList); Assert.IsTrue(info.numberOfRides == expectedRides && info.totalFare == expectedFare && info.averageFare == expectedAverage); }
public void GivenUserId_InvoiceServiceGetsListOfRides_ShouldReturnInvoiceSummary() { // Arrange invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); string userId1 = "USER1"; string userId2 = "USER2"; Ride[] rides1 = { new Ride(3, 5), new Ride(5, 4), new Ride(2, 5) }; Ride[] rides2 = { new Ride(0.1, 1), new Ride(0.1, 3), new Ride(0.1, 2) }; invoiceGenerator.AddRides(userId1, rides1); invoiceGenerator.AddRides(userId2, rides2); InvoiceSummary expectedSummary1 = new InvoiceSummary(3, 114, 38); InvoiceSummary expectedSummary2 = new InvoiceSummary(3, 15, 5); // Act InvoiceSummary actualSummary1 = invoiceGenerator.GetInvoiceSummary(userId1); InvoiceSummary actualSummary2 = invoiceGenerator.GetInvoiceSummary(userId2); //Assert Assert.AreEqual(expectedSummary1, actualSummary1); Assert.AreEqual(expectedSummary2, actualSummary2); }
public void GivenListOfRides_Should_Return_InvoiceData() { rideList = new List <Ride> { new Ride(5, 20), new Ride(3, 15), new Ride(2, 10) }; double expectedFare = 145; int expectedRides = 3; double expectedAverage = expectedFare / expectedRides; invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); InvoiceData data = invoiceGenerator.GetInvoiceSummary(rideList); Assert.IsTrue(data.noOfRides == expectedRides && data.totalFare == expectedFare && data.averageFare == expectedAverage); }
public void GivenUserId_ShouldReturn_RideListAndInvoice() { invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] ride1 = { new Ride(6.0, 7), new Ride(3.0, 5), new Ride(0.6, 3) }; Ride[] ride2 = { new Ride(5.0, 7), new Ride(15.0, 27), new Ride(9.0, 15) }; string P1 = "Tony"; string P2 = "Chris"; RideRepository rideRepository = invoiceGenerator.GetRepo(); rideRepository.AddRide(P1, ride1); rideRepository.AddRide(P2, ride2); InvoiceSummary invoice_P1 = invoiceGenerator.GetInvoiceSummary(P1); InvoiceSummary expectedInvoice_P1 = new InvoiceSummary(3, 65); Assert.AreEqual(invoice_P1, expectedInvoice_P1); }
public void GivenMultipleRides_ShouldReturnTotalFare() { InvoiceGenerator invoiceGenerator = new InvoiceGenerator(); string userId = "soumen"; Rides firstRide = new Rides(2.0, 5); Rides secondRide = new Rides(0.1, 1); List <Rides> rides = new List <Rides> { firstRide, secondRide }; RideRepository.AddRides(userId, rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary(userId); double expected = 30; Assert.AreEqual(expected, invoiceSummary.TotalFare); }
public void GivenUserId_ShouldReturn_RideListAndInvoice() { invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] ridesPerson1 = { new Ride(2.0, 5), new Ride(0.1, 3), new Ride(3.0, 5) }; Ride[] ridesPerson2 = { new Ride(4.0, 20), new Ride(5.0, 25), new Ride(4.0, 30) }; string keyPerson1 = "Sam"; string keyPerson2 = "Mark"; RideRepository rideRepository = invoiceGenerator.ToAccess_rideRepository(); rideRepository.AddRide(keyPerson1, ridesPerson1); rideRepository.AddRide(keyPerson2, ridesPerson2); // Arrange InvoiceSummary invoiceReturn_For_Person1 = invoiceGenerator.GetInvoiceSummary(keyPerson1); InvoiceSummary expectedInvoice_For_Person1 = new InvoiceSummary(3, 65); // Assert Assert.AreEqual(expectedInvoice_For_Person1, invoiceReturn_For_Person1); }
public void GivenRidesForDifferentUsersShouldReturnInvoiceSummary() { //Creating instance of invoice generator InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.PREMIUM); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; string userId = "001"; invoiceGenerator.AddRides(userId, rides); string userIdForSecondUser = "******"; Ride[] ridesForSecondUser = { new Ride(3.0, 10), new Ride(1.0, 2) }; invoiceGenerator.AddRides(userIdForSecondUser, ridesForSecondUser); //Generating Summary for rides InvoiceSummary summary = invoiceGenerator.GetInvoiceSummary(userId); InvoiceSummary expectedSummary = new InvoiceSummary(2, 60.0); //Asserting values with average in equals to formula in invoice summary Assert.AreEqual(expectedSummary, summary); }
public void GivenRidesForDifferentUsersShouldReturnInvoiceSummary() { //Creating instance of invoice generator InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); RideDetails[] rides = { new RideDetails(3, 5), new RideDetails(5, 4), new RideDetails(2, 5) }; string firstUserId = "001"; invoiceGenerator.AddRides(firstUserId, rides); string userIdForSecondUser = "******"; RideDetails[] ridesForSecondUser = { new RideDetails(3, 10), new RideDetails(6, 2) }; invoiceGenerator.AddRides(userIdForSecondUser, ridesForSecondUser); //Generating Summary for rides InvoiceSummary summary = invoiceGenerator.GetInvoiceSummary(firstUserId); InvoiceSummary expectedSummary = new InvoiceSummary(3, 114, 38); //Asserting values with average in equals to formula in invoice summary Assert.AreEqual(expectedSummary, summary); }
public void GivenPremiumRide_ShouldReturnInvoiceSummary() { InvoiceGenerator invoiceGenerator = new InvoiceGenerator(); string userId = "soumen"; Rides firstRide = new Rides(3.0, 5, "Premium"); Rides secondRide = new Rides(1, 1, "Normal"); List <Rides> rides = new List <Rides> { firstRide, secondRide }; RideRepository.AddRides(userId, rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary(userId); InvoiceSummary expected = new InvoiceSummary { TotalNumberOfRides = 2, TotalFare = 76.0, AverageFarePerRide = 33 }; Assert.AreEqual(expected.TotalFare, invoiceSummary.TotalFare); }
public void GivenUSerId_ShouldReturnInvoiceSummary() { InvoiceGenerator invoiceGenerator = new InvoiceGenerator(); string userId = "soumen"; Rides firstRide = new Rides(3.0, 5); Rides secondRide = new Rides(1, 1); List <Rides> rides = new List <Rides> { firstRide, secondRide }; RideRepository.AddRides(userId, rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary(userId); InvoiceSummary expected = new InvoiceSummary { TotalNumberOfRides = 2, TotalFare = 46, AverageFarePerRide = 23 }; object.Equals(expected, invoiceSummary); }