public void GetStatusFullSingleSector_ShouldReturnCorrectResult() { // Arrange IVehiclePark park = new VehiclePark(2, 2); IVehicle car3 = new Car("CA1236CA", "Pesho", 3); IVehicle car4 = new Car("CA1237CA", "Pesho", 3); // Act park.InsertVehicle(car3, 2, 1, new DateTime(2015, 10, 17, 10, 30, 0)); park.InsertVehicle(car4, 2, 2, new DateTime(2015, 10, 17, 10, 30, 0)); string result = park.GetStatus(); string expected = "Sector 1: 0 / 2 (0% full)\r\nSector 2: 2 / 2 (100% full)"; // Assert Assert.AreEqual(expected, result); }
public void VehicleExitNonPresentLicensePlate_ShouldThrowExceptionWithCorrectResult() { // Arrange IVehiclePark park = new VehiclePark(2, 2); string licensePlate = "CA1234CA"; IVehicle car = new Car(licensePlate, "Pesho", 3); int sector = 1; int place = 1; // Act park.InsertVehicle(car, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); string result = string.Empty; try { park.ExitVehicle("CA1234CB", new DateTime(2015, 10, 17, 13, 30, 0), 6M); } catch (Exception ex) { result = ex.Message; } string expected = string.Format(GlobalMessages.VehicleNotPresent, "CA1234CB"); // Assert Assert.AreEqual(expected, result); }
public void InsertMultipleVehicleValidOperation_ShouldReturnCorrectResult() { // Arrange IVehiclePark park = new VehiclePark(2, 3); IVehicle car1 = new Car("CA1234CA", "Pesho", 3); IVehicle car2 = new Car("CA1235CA", "Pesho", 3); IVehicle car3 = new Car("CA1236CA", "Pesho", 3); IVehicle car4 = new Car("CA1237CA", "Pesho", 3); IVehicle car5 = new Car("CA1238CA", "Pesho", 3); IVehicle car6 = new Car("CA1239CA", "Pesho", 3); StringBuilder result = new StringBuilder(); StringBuilder expected = new StringBuilder(); // Act result.AppendLine(park.InsertVehicle(car1, 1, 1, new DateTime(2015, 10, 17, 10, 30, 0))); result.AppendLine(park.InsertVehicle(car2, 1, 2, new DateTime(2015, 10, 17, 10, 30, 0))); result.AppendLine(park.InsertVehicle(car3, 1, 3, new DateTime(2015, 10, 17, 10, 30, 0))); result.AppendLine(park.InsertVehicle(car4, 2, 1, new DateTime(2015, 10, 17, 10, 30, 0))); result.AppendLine(park.InsertVehicle(car5, 2, 2, new DateTime(2015, 10, 17, 10, 30, 0))); result.AppendLine(park.InsertVehicle(car6, 2, 3, new DateTime(2015, 10, 17, 10, 30, 0))); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(1,1)")); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(1,2)")); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(1,3)")); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(2,1)")); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(2,2)")); expected.AppendLine(string.Format(GlobalMessages.VehicleParked, car1.GetType().Name, "(2,3)")); // Assert Assert.AreEqual(expected.ToString(), result.ToString()); }
public void GetStatusOneVehicle_ShouldReturnCorrectResult() { // Arrange int totalSectors = 2; IVehiclePark park = new VehiclePark(totalSectors, 2); IVehicle car = new Car("CA1234CA", "Pesho", 3); // Act park.InsertVehicle(car, 1, 1, new DateTime(2015, 10, 17, 10, 30, 0)); string result = park.GetStatus(); string expected = "Sector 1: 1 / 2 (50% full)\r\nSector 2: 0 / 2 (0% full)"; // Assert Assert.AreEqual(expected, result); }
public void VehicleExitExactlyOnTime_ShouldReturnCorrectResult() { // Arrange IVehiclePark park = new VehiclePark(2, 2); string licensePlate = "CA1234CA"; IVehicle car = new Car(licensePlate, "Pesho", 3); int sector = 1; int place = 1; // Act park.InsertVehicle(car, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); string result = park.ExitVehicle(licensePlate, new DateTime(2015, 10, 17, 13, 30, 0), 6M); string expected = "********************\r\nCar [CA1234CA], owned by Pesho\nat place (1,1)\nRate: $6,00\nOvertime rate: $0,00\r\n--------------------\r\nTotal: $6,00\nPaid: $6,00\nChange: $0,00\r\n********************"; // Assert Assert.AreEqual(expected, result); }
public void InsertVehicleAtNegativePlace_ShouldThrowExceptionWithCorrectMessage() { // Arrange IVehiclePark park = new VehiclePark(2, 2); IVehicle car = new Car("CA1234CA", "Pesho", 3); int sector = 1; int place = -1; string result = string.Empty; string expected = string.Format(GlobalMessages.NoSuchPlaceInSector, place, sector); // Act try { park.InsertVehicle(car, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); } catch (Exception ex) { result = ex.Message; } // Assert Assert.AreEqual(expected, result); }
public void InsertVehicleWithExistingLicensePlate_ShouldThrowExceptionWithCorrectMessage() { // Arrange IVehiclePark park = new VehiclePark(2, 2); IVehicle car = new Car("CA1234CA", "Pesho", 3); int sector = 1; int place = 1; string result = string.Empty; string expected = string.Format(GlobalMessages.VehicleAlreadyParked, "CA1234CA"); // Act park.InsertVehicle(car, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); try { park.InsertVehicle(car, sector + 1, place + 1, new DateTime(2015, 10, 17, 10, 30, 0)); } catch (Exception ex) { result = ex.Message; } // Assert Assert.AreEqual(expected, result); }
public void InsertVehicleValidOperation_ShouldReturnCorrectResult() { // Arrange IVehiclePark park = new VehiclePark(2, 2); IVehicle car = new Car("CA1234CA", "Pesho", 3); int sector = 1; int place = 1; // Act string result = park.InsertVehicle(car, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); string parkPlace = string.Format("({0},{1})", sector, place); string expected = string.Format(GlobalMessages.VehicleParked, car.GetType().Name, parkPlace); // Assert Assert.AreEqual(expected, result); }
public void InsertVehicleAtOccupiedSpace_ShouldThrowExceptionWithCorrectMessage() { // Arrange IVehiclePark park = new VehiclePark(2, 2); IVehicle car1 = new Car("CA1234CA", "Pesho", 3); IVehicle car2 = new Car("CA1235CA", "Pesho", 3); int sector = 1; int place = 1; string parkPlace = string.Format("({0},{1})", sector, place); string expected = string.Format(GlobalMessages.PlaceIsOccupied, parkPlace); // Act park.InsertVehicle(car1, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); string result = string.Empty; try { park.InsertVehicle(car2, sector, place, new DateTime(2015, 10, 17, 10, 30, 0)); } catch (Exception ex) { result = ex.Message; } // Assert Assert.AreEqual(expected, result); }