public void parkingLot_should_pick_after_manager_park()
        {
            var car = new Car();
            var parkingLot = new ParkingLot(1);
            var manager = new ParkingBoyManager(new List<IParkable> { parkingLot});

            Assert.Same(car, parkingLot.Pick(manager.Park(car).ParkingToken));
        }
        public void parkingLot_should_get_car_after_smartBoy_park()
        {
            var bmw = new Car();
            var parkingLot = new ParkingLot();
            var smartBoy = new SmartParkingBoy(parkingLot);

            var parkingInfo = smartBoy.Park(bmw);

            Assert.Same(bmw, parkingLot.Pick(parkingInfo.ParkingToken));
        }
        public void parkingLot_should_pick_success_after_superBoy_park()
        {
            var car = new Car();
            var parkinglot = new ParkingLot();
            var superBoy = new SuperParkingBoy(parkinglot);

            var parkingInfo = superBoy.Park(car);

            Assert.Same(car, parkinglot.Pick(parkingInfo.ParkingToken));
        }
        public void should_park_in_bigger_parkingLot_for_different_size_empty_parkingLots()
        {
            var bmw = new Car();
            var parkingLot1 = new ParkingLot(1);
            var parkingLot2 = new ParkingLot(2);
            var smartBoy = new SmartParkingBoy(parkingLot1, parkingLot2);

            var bmwParkingInfo = smartBoy.Park(bmw);

            Assert.Same(bmw, parkingLot2.Pick(bmwParkingInfo.ParkingToken));
        }
Exemplo n.º 5
0
        public void should_park_to_first_available_parkingLot_for_mutiple_available_parkingLots()
        {
            var bmw = new Car();
            var parkingLot1 = new ParkingLot(1);
            var parkingLot2 = new ParkingLot(1);
            var parkingBoy = new ParkingBoy(parkingLot1, parkingLot2);

            var bmwParkingInfo = parkingBoy.Park(bmw);

            Assert.Same(bmw, parkingLot1.Pick(bmwParkingInfo.ParkingToken));
        }
        public void should_park_in_parkinglot_with_high_vacancy_rate_for_different_size_parkingLots()
        {
            var bmw = new Car();
            var audi = new Car();
            var parkingLot1 = new ParkingLot(10);
            var parkingLot2 = new ParkingLot(20);
            var superboy = new SuperParkingBoy(parkingLot1, parkingLot2);

            parkingLot2.Park(bmw);
            var parkingInfo = superboy.Park(audi);

            Assert.Same(audi, parkingLot1.Pick(parkingInfo.ParkingToken));
        }
        public void should_park_in_parkinglot_with_high_available_spots_for_same_size_parkingLots()
        {
            var bmw = new Car();
            var audi = new Car();
            var parkingLot1 = new ParkingLot(10);
            var parkingLot2 = new ParkingLot(10);
            var superboy = new SuperParkingBoy(parkingLot1, parkingLot2);

            parkingLot1.Park(bmw);
            var parkingInfo = superboy.Park(audi);

            Assert.Same(audi, parkingLot2.Pick(parkingInfo.ParkingToken));
        }
        public void should_park_in_parkingLot_with_high_availability_for_multiple_parkinglots_with_different_availibility()
        {
            var bmw = new Car();
            var audi = new Car();
            var benz = new Car();
            var parkingLot1 = new ParkingLot(2);
            var parkingLot2 = new ParkingLot(3);
            var smartBoy = new SmartParkingBoy(parkingLot1, parkingLot2);

            parkingLot1.Park(bmw);
            parkingLot2.Park(audi);

            var parkingInfo = smartBoy.Park(benz);

            Assert.Same(benz, parkingLot2.Pick(parkingInfo.ParkingToken));
        }