Ejemplo n.º 1
0
        public void ShouldAssignSameSizedSpotWhenAvailable(Size size)
        {
            var testParkingLot = GetFakeParkingLot(); //Fake lot with  5 slots in each type.
            var testVehicle    = GetFakeVehicle(size);
            var expectedSpot   = new ParkingSpot {
                OccupiedVehicle = testVehicle, SpotSize = testVehicle.VehicleSize
            };

            _svc = new ParkingLotManager.ParkingLot(testParkingLot, _searchService.Object);
            switch (size)
            {
            case Size.Hatchback:
                _searchService.Setup(x => x.Search(testParkingLot, Size.Hatchback)).Returns(expectedSpot);

                break;

            case Size.Sedan:
                _searchService.Setup(x => x.Search(testParkingLot, Size.Sedan)).Returns(expectedSpot);

                break;

            case Size.Truck:
                _searchService.Setup(x => x.Search(testParkingLot, Size.Truck)).Returns(expectedSpot);
                break;
            }
            ParkingSpot result = _svc.AssignParkingSpot(testVehicle);

            Assert.AreEqual(result.SpotSize, expectedSpot.SpotSize);
            Assert.AreEqual(result.OccupiedVehicle, expectedSpot.OccupiedVehicle);
        }
Ejemplo n.º 2
0
        public void ShouldSayParkingFullWhenHatchbackisAvailablButSedanAndTruckAreUnavailable(Size size)
        {
            var testParkingLot = GetFakeParkingLot(); //Fake lot with  5 slots in each type.

            var testVehicle = GetFakeVehicle(size);

            _svc = new ParkingLotManager.ParkingLot(testParkingLot, _searchService.Object);

            switch (size)
            {
            case Size.Sedan:
                _searchService.Setup(x => x.Search(testParkingLot, Size.Sedan)).Returns((ParkingSpot)null);
                _searchService.Setup(x => x.Search(testParkingLot, Size.Truck)).Returns((ParkingSpot)null);

                break;

            case Size.Truck:
                _searchService.Setup(x => x.Search(testParkingLot, Size.Truck)).Returns((ParkingSpot)null);
                break;
            }

            ParkingSpot result = _svc.AssignParkingSpot(testVehicle);

            Assert.AreEqual(result, null);
        }
Ejemplo n.º 3
0
        public void ShouldAssignTruckSpotWhenHatchBackAndSedanIsUnavailable()
        {
            var testParkingLot = GetFakeParkingLot(); //Fake lot with  5 slots in each type.

            var testVehicle = GetFakeVehicle(Size.Hatchback);

            var expectedSpot = new ParkingSpot {
                OccupiedVehicle = testVehicle, SpotSize = Size.Truck
            };

            _svc = new ParkingLotManager.ParkingLot(testParkingLot, _searchService.Object);

            _searchService.Setup(x => x.Search(testParkingLot, Size.Hatchback)).Returns((ParkingSpot)null);
            _searchService.Setup(x => x.Search(testParkingLot, Size.Sedan)).Returns((ParkingSpot)null);
            _searchService.Setup(x => x.Search(testParkingLot, Size.Truck)).Returns(expectedSpot);

            ParkingSpot result = _svc.AssignParkingSpot(testVehicle);

            Assert.AreEqual(result.SpotSize, expectedSpot.SpotSize);
            Assert.AreEqual(result.OccupiedVehicle, expectedSpot.OccupiedVehicle);
        }