public void GivenUserId_WhenInvoivceService_ShouldReturnInvoice() { invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; invoiceGenerator.AddRides("1", rides); InvoiceSummary summary = invoiceGenerator.GetInvoiceSummary("1"); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30.0, "1"); Assert.AreEqual(expectedSummary, summary); }
public void GivenPremiumRidesReturnInvoiceService() { invoiceGenerator = new InvoiceGenerator(RideType.PREMIUM); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; invoiceGenerator.AddRides("ktr", rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary("ktr"); InvoiceSummary expectedSummary = new InvoiceSummary(2, 60); Assert.AreEqual(expectedSummary, invoiceSummary); }
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 GetInvoiceSummary_WhenPassedInvalidUserId_ReturnsInvoiceSummary() { Ride[] rides = { new Ride(1.0, 1), new Ride(2.0, 1) }; var invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); var userID = "1"; invoiceGenerator.AddRides("2", rides); var exception = Assert.Throws <CabInvoiceException>(() => invoiceGenerator.GetInvoiceSummary(userID)); Assert.That(exception.type, Is.EqualTo(CabInvoiceException.ExceptionType.INVALID_USER_ID)); }
public void GivenAUserIDTheInvoiceServiceGetsTheListOfRidesFromTheRideRepositoryAndReturnsTheInvoice() { InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); Ride[] rides = { new Ride(2, 5), new Ride(0.1, 1) }; invoiceGenerator.AddRides("FerrariKiSawari", rides); InvoiceSummary summary = invoiceGenerator.GetInvoiceSummary("FerrariKiSawari"); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30); Assert.AreEqual(expectedSummary, summary); }
public void GivenNullRides_WhenAddingToDictionary_Should_Return_CabInvoiceException() { rideList = new List <Ride> { new Ride(5, 20), null, new Ride(2, 10) }; invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); var exception = Assert.Throws <CabInvoiceException>(() => invoiceGenerator.AddRides(1, rideList)); Assert.AreEqual(CabInvoiceException.Type.NULL_RIDES, exception.type); }
public void GetInvoiceSummary_WhenPassedUserId_ReturnsInvoiceSummary(RideType rideType, double expectedFare) { Ride[] rides = { new Ride(1.0, 1), new Ride(2.0, 1) }; var invoiceGenerator = new InvoiceGenerator(rideType); var userID = "1"; invoiceGenerator.AddRides(userID, rides); var result = invoiceGenerator.GetInvoiceSummary(userID); var expected = new InvoiceSummary(2, expectedFare); Assert.That(result, Is.EqualTo(expected)); }
public void GivenUserIdToreturnlistofRide() { InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.PREMIUM); Ride[] rides = { new Ride(2.0, 5), new Ride(0.1, 1) }; invoiceGenerator.AddRides("abc", rides); InvoiceSummary invoiceSummary = invoiceGenerator.GetInvoiceSummary("abc"); InvoiceSummary expectedSummary = new InvoiceSummary(2, 30); Assert.AreEqual(expectedSummary, invoiceSummary); }
public void GivenUserId_returnTheInvoice() { Ride[] rides = { new Ride(2, 5), new Ride(2, 5) }; InvoiceGenerator invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); invoiceGenerator.AddRides("100", rides); InvoiceSummary actual = invoiceGenerator.calculateFare(rides); InvoiceSummary expected = invoiceGenerator.GetInvoiceSummary("100"); Assert.AreEqual(expected, actual); }
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 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 givenUserId_WhenCheckedIfPresent_ShouldReturnInvoiceInfo() { 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.AddRides(1, rideList); CabInfo info = invoiceGenerator.GetUserInvoice(1); Assert.IsTrue(info.numberOfRides == expectedRides && info.totalFare == expectedFare && info.averageFare == expectedAverage); }
public void GivenUserId_WhenPresent_Should_Return_CabInvoiceSummary() { 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); invoiceGenerator.AddRides(1, rideList); InvoiceData data = invoiceGenerator.GetUserInvoice(1); Assert.IsTrue(data.noOfRides == expectedRides && data.totalFare == expectedFare && data.averageFare == expectedAverage); }
public void GivenUserId_ShouldReturnListOfRides() { Ride[] rides = { new Ride(1.0, 1), new Ride(2.0, 2), new Ride(2.0, 2), new Ride(4.0, 4), new Ride(3.0, 3) }; string userId = "123"; invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); invoiceGenerator.AddRides(userId, rides); Ride[] actual = invoiceGenerator.rideRepository.GetRides(userId); Assert.AreEqual(rides, actual); }
//Test case 7 - Should return List of rides on giving user id public void GivenUserId_Should_Return_ListOfRides() { try { invoiceGenerator = new InvoiceGenerator(RideType.NORMAL); rides = new Ride[] { new Ride(5, 20), new Ride(3, 15), new Ride(2, 10) }; string userId = "123"; RideRepository rideRepository = new RideRepository(); invoiceGenerator.AddRides(userId, rides); Ride[] actual = rideRepository.GetRides(userId); Assert.AreEqual(rides, actual); } catch (CabInvoiceException ex) { Assert.AreEqual(CabInvoiceException.ExceptionType.INVALID_USER_ID, ex.type); } }