public async Task <IActionResult> PutFuelPurchase(ulong id, FuelPurchase fuelPurchase) { if (id != fuelPurchase.Id) { return(BadRequest()); } _context.Entry(fuelPurchase).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FuelPurchaseExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void getFuelEconomyTest() { // this is just a sample data for vehicle Vehicle vehicle = new Vehicle(); vehicle.Id = Guid.Parse("0f8fad5b-d9cb-469f-a165-70867728950e"); vehicle.RegistrationID = "21HSK1"; vehicle.CarManufacture = "Ford"; vehicle.CarModel = "LOL"; vehicle.CarYear = 2019; vehicle.FuelType = "Petrol"; vehicle.TankCapacity = 50; vehicle.VehicleOdometer = 100; // add to the new vehicle lists CarList.vehicles.Add(vehicle); Journey journey = new Journey(); // this is just a sample data for journey journey.id = Guid.NewGuid(); journey.BookingID = Guid.NewGuid(); journey.vehicleID = Guid.Parse("0f8fad5b-d9cb-469f-a165-70867728950e"); journey.JourneyStartAt = DateTime.Parse("2019-11-25"); journey.JourneyEndedAt = DateTime.Parse("2019-11-26"); journey.StartOdometer = 100; journey.EndOdometer = 460; journey.JourneyFrom = "Perth"; journey.JourneyTo = "Midlands"; CarList.journeys.Add(journey); // this is just a sample data for fuel purchases double FuelQuantity = double.Parse("30"); double FuelPrice = double.Parse("1.5"); FuelPurchase fuelPurchase = new FuelPurchase(FuelQuantity, FuelPrice); fuelPurchase.VId = Guid.Parse("0f8fad5b-d9cb-469f-a165-70867728950e"); CarList.fuelPurchases.Add(fuelPurchase); Vehicle relatedVehicle = CarList.vehicles.Find(v => v.Id == fuelPurchase.VId); Journey relatedJourneys = CarList.journeys.Find(j => j.vehicleID == fuelPurchase.VId); List <FuelPurchase> fuelPurchases = CarList.fuelPurchases.Where(fp => fp.VId == relatedJourneys.vehicleID).ToList(); List <Journey> allJourneysRelatedWithFps = CarList.journeys.Where(j => j.vehicleID == relatedVehicle.Id).ToList(); double totalKmTravelled = 0.0; double totalFuelUsed = 0.0; if (fuelPurchases != null) { totalFuelUsed = fuelPurchases.Sum(fps => fps.FuelQuantity); totalKmTravelled = allJourneysRelatedWithFps.Max(max => max.EndOdometer) - allJourneysRelatedWithFps.Min(min => min.StartOdometer); } // act double fuelEconomy = totalKmTravelled / totalFuelUsed; // assert // 360/30 expected result should be 12 Assert.AreEqual(12, fuelEconomy); }
public FuelPurchaseMock() { FuelPurchaseMock1 = new FuelPurchase(); FuelPurchaseMock2 = new FuelPurchase(); FuelPurchaseMock2.SetFuelEconomy(61); FuelPurchaseMock2.PurchaseFuel(47.29, 19.41); }
public void getFuelEconomy_Test3() { FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading + 200, 25, 1.5); TestClass.updateTestVehicle(); FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading + 400, 25, 1.5); double result = FuelPurchase.GetFuelEconomy(TestClass.v.Id); Assert.AreEqual(result, 8); }
public void addPurchaseFuel_Test() { var listCountBefore = FuelPurchase.fuelList.Count; FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading + 200, 45, 1.3); var listCountAfter = FuelPurchase.fuelList.Count; Assert.AreEqual(listCountBefore + 1, listCountAfter); }
public void FuelPurchaseTest() { // this is just a sample data/input double fuelQuantity = 30; double fuelPrice = 1.5; FuelPurchase fuelPurchase = new FuelPurchase(fuelQuantity, fuelPrice); // act fuelPurchase.TotalCost = fuelPrice * fuelQuantity; // assert Assert.AreEqual(45, fuelPurchase.TotalCost); }
public void deleteFuelPurchasesTest() { CarList car = new CarList(); // this is just a sample data double FuelQuantity = double.Parse("30"); double FuelPrice = double.Parse("1.5"); FuelPurchase fuelPurchase = new FuelPurchase(FuelQuantity, FuelPrice); fuelPurchase.VId = Guid.NewGuid(); CarList.fuelPurchases.Add(fuelPurchase); // it will return true if its deleted Assert.IsTrue(VehicleHistory.deleteFuelPurchases(fuelPurchase)); }
public void TestCostOutput() { for (int i = 0; i < 1000; i++) { var Purchase = new FuelPurchase(i); // assert double actualCost = Purchase.Cost; double expectedCost = 2.00 * i; double allowedVariance = 0.25 * i; Assert.AreEqual(expectedCost, actualCost, allowedVariance); } }
private void btnAddFuel_Click(object sender, EventArgs e) { int num; bool result = int.TryParse(txtFuel.Text, out num); if (result) { FuelPurchase fuel = new FuelPurchase(num); Vehicles[cbVehicles.SelectedIndex].TLpurchased = Vehicles[cbVehicles.SelectedIndex].AddFuel(num); Vehicles[cbVehicles.SelectedIndex].CalcFuelEcon(); rtbReport.Text = Vehicles[cbVehicles.SelectedIndex].PrintToScreen() + "\n\nTotal litres of fuel has been updated."; } else { MessageBox.Show("Please enter a valid number"); } }
//creates a new journey and fuel purchase and adds them to the car private void Add_Journey_Click(object sender, EventArgs e) { int journeyKilometers; int litresFuelUsed; Vehicle current = Vehicles.ElementAt(cbxAddJourney.SelectedIndex); if (Kilometers_travelled_TextBox.Text == string.Empty) { MessageBox.Show("Kilometers Travelled text box is Empty!"); } else if (Fuel_Used_Text_Box.Text == string.Empty) { MessageBox.Show("Fuel Used text box is Empty"); } else if (!int.TryParse(Kilometers_travelled_TextBox.Text, out journeyKilometers)) { MessageBox.Show("kilometers traveled must be a whole number"); } else if (!int.TryParse(Fuel_Used_Text_Box.Text, out litresFuelUsed)) { MessageBox.Show("Fuel used must be a whole number of litres"); } else { //creates a new instance of journey and fuelpurchase and adds them to the vehicle Journey J = new Journey(journeyKilometers); FuelPurchase fp = new FuelPurchase(litresFuelUsed); current.AddJourney(J); current.AddFuelPurchase(fp); //updates whether car requires service Service.CheckServiceNeeded(current); current.CalcFuelEconomy(); Kilometers_travelled_TextBox.Clear(); Fuel_Used_Text_Box.Clear(); } }
public async Task <ActionResult <FuelPurchase> > PostFuelPurchase(FuelPurchase fuelPurchase) { var associatedVehicle = await _context.Vehicles.SingleOrDefaultAsync(v => v.Uuid == fuelPurchase.VehicleUuid); var associatedBooking = await _context.Bookings.SingleOrDefaultAsync(b => b.Uuid == fuelPurchase.BookingUuid); if (associatedVehicle == null || associatedBooking == null) { return(BadRequest()); } fuelPurchase.Vehicle = associatedVehicle; fuelPurchase.Booking = associatedBooking; fuelPurchase.VehicleId = associatedVehicle.Id; fuelPurchase.BookingId = associatedBooking.Id; _context.FuelPurchases.Add(fuelPurchase); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFuelPurchase", new { id = fuelPurchase.Id }, fuelPurchase)); }
private void VehicleGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { registrationNo = VehicleGridView.Rows[e.RowIndex].Cells[1].Value.ToString(); if (VehicleGridView.Columns[e.ColumnIndex].Name == "AddJourney") { Vehicle vehicle = GetVehicleForRegNumber(registrationNo); if (vehicle != null) { AddJourneyDialog jDialog = new AddJourneyDialog(); bool requiresService = vehicle.RequiresService(); if (requiresService == false) { jDialog.StartPosition = FormStartPosition.CenterParent; jDialog.ControlBox = false; jDialog.Text = String.Empty; jDialog.RegistrationNumber = registrationNo; DialogResult result = jDialog.ShowDialog(); if (result == DialogResult.OK) { Journey newJourney = new Journey(jDialog.RentalType, jDialog.NumberDays, jDialog.KmsTravelled); { vehicle.AddJourney(newJourney); populateOutputs(); } } } else { MessageBox.Show("Sorry. This vehicle requires a service and cannot be rented", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } else if (VehicleGridView.Columns[e.ColumnIndex].Name == "AddFuel") { AddFuelDialog fDialog = new Dialogs.AddFuelDialog(); fDialog.StartPosition = FormStartPosition.CenterParent; fDialog.ControlBox = false; fDialog.Text = String.Empty; fDialog.RegistrationNumber = registrationNo; DialogResult result = fDialog.ShowDialog(); if (result == DialogResult.OK) { FuelPurchase fuelPurchase = new FuelPurchase(fDialog.FuelQuantity); Vehicle vehicle = GetVehicleForRegNumber(registrationNo); if (vehicle != null) { vehicle.AddFuelPurchase(fuelPurchase); populateOutputs(); } } } else if (VehicleGridView.Columns[e.ColumnIndex].Name == "AddService") { Vehicle vehicle = GetVehicleForRegNumber(registrationNo); if (vehicle != null) { int TotalKmsTravelled = vehicle.GetTotalKms(); AddServiceDialog sDialog = new AddServiceDialog(); sDialog.TotalKmsTravelled = TotalKmsTravelled; sDialog.StartPosition = FormStartPosition.CenterParent; sDialog.ControlBox = false; sDialog.Text = String.Empty; sDialog.RegistrationNumber = registrationNo; DialogResult result = sDialog.ShowDialog(); if (result == DialogResult.OK) { Service service = new Service(TotalKmsTravelled); vehicle.AddService(service); populateOutputs(); } } } }
private void Rent() { int Kilometers; int Litres; int Days; string RentType; bool daysNeeded = int.TryParse(txtDaysRented.Text, out Days); if (isDailyRent) { RentType = "Daily Rate"; } else { RentType = "Distance Rate"; } Vehicle current = Vehicles.ElementAt(cbxChooseCar.SelectedIndex); if (current.NeedService) { MessageBox.Show("This vehicle needs a service and so cannot be rented"); } else if (!int.TryParse(txtKmRent.Text, out Kilometers)) { MessageBox.Show("Kilometers travelled must be a whole number"); } else if (!int.TryParse(txtLitresRent.Text, out Litres)) { MessageBox.Show("Litres used must be a whole number"); } else if (isDailyRent && !daysNeeded) { MessageBox.Show("Days rented must not be blank"); } else { if (isDailyRent) { var Rent = new PerDayRental(Kilometers, Days, Litres); var j = new Journey(Rent.KilometersTravelled); var fp = new FuelPurchase(Rent.LitresUsed); current.AddFuelPurchase(fp); current.AddJourney(j); current.TotalRevenue += Rent.TotalCost; } else { var Rent = new PerKmRental(Kilometers, Litres); var j = new Journey(Rent.KilometersTravelled); var fp = new FuelPurchase(Rent.LitresUsed); current.AddFuelPurchase(fp); current.AddJourney(j); current.TotalRevenue += Rent.TotalCost; } txtDaysRented.Clear(); txtKmRent.Clear(); txtLitresRent.Clear(); MessageBox.Show($"New {RentType} Rental Successfully Saved"); } }
public void getFuelEconomy_Test() { double result = FuelPurchase.GetFuelEconomy(TestClass.v.Id); Assert.AreEqual(result, double.NaN); }
public void addPurchaseFuel_Test4() { string sAux = FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading + 200, 45, 1.3); Assert.AreEqual(sAux, ""); }
public void addPurchaseFuel_Test3() { string sAux = FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading - 200, 45, 1.3); Assert.AreEqual(sAux, "New Odometer is lower than actual"); }
public void addPurchaseFuel_Test2() { string sAux = FuelPurchase.AddPurchaseFuel(TestClass.v, TestClass.v.OdometerReading + 200, 55, 1.3); Assert.AreEqual(sAux, "Quantity is higher than tank capacity"); }