Пример #1
0
        void should_can_pick_the_car_when_manage_parking_lots_and_parking_boys_and_park_a_car()
        {
            var lotNoSpace  = new ParkingLot(0);
            var lotHasSpace = new ParkingLot(2);
            var boy         = new SuperParkingBoy(lotHasSpace);
            var superBoy    = new SuperParkingBoy(lotHasSpace);
            var smartBoy    = new SuperParkingBoy(lotNoSpace);
            var manager     = new ParkingManager(lotNoSpace, boy, smartBoy, superBoy);
            var car         = new Car();

            var token = manager.Park(car);

            Assert.Same(car, manager.Pick(token));

            token = manager.Park(car);
            Assert.Same(car, boy.Pick(token));

            token = manager.Park(car);
            Assert.Same(car, superBoy.Pick(token));

            token = manager.Park(car);
            Assert.Same(car, lotHasSpace.Pick(token));

            token = manager.Park(car);
            Assert.Throws <NotFoundException>(() => smartBoy.Pick(token));

            token = manager.Park(car);
            Assert.Throws <NotFoundException>(() => lotNoSpace.Pick(token));
        }
Пример #2
0
        void should_can_pick_the_car_when_manage_super_parking_boy_and_park_a_car()
        {
            var manager = new ParkingManager(new SuperParkingBoy(new ParkingLot(10)));
            var car     = new Car();
            var token   = manager.Park(car);

            var pickedCar = manager.Pick(token);

            Assert.Same(car, pickedCar);
        }
Пример #3
0
        public void given_a_parkingLot_and_a_parking_manager_when_parking_manager_park_a_car_then_he_can_pick_the_car()
        {
            var parkinglot = new OOParkingLot(1);
            var manager    = new ParkingManager(parkinglot);
            var car        = new Car("car");

            var carId = manager.Park(car);

            Assert.AreSame(car, manager.Pick(carId));
        }
        public void should_park_car_when_manages_parking_lot()
        {
            var parkingLot     = new ParkingLot(1);
            var parkingManager = new ParkingManager(parkingLot);
            var car            = new Car();

            var token     = parkingManager.Park(car);
            var pickedCar = parkingManager.Pick(token);

            pickedCar.Should().BeSameAs(car);
        }
Пример #5
0
        public void given_a_parking_lot_and_a_super_parking_boy_which_managed_by_parking_manager_when_parking_boy_park_a_car_then_manager_could_pick_the_car()
        {
            var parkinglot      = new OOParkingLot(1);
            var superParkingBoy = new SuperParkingBoy(parkinglot);
            var manager         = new ParkingManager(superParkingBoy);
            var car             = new Car("car");

            var carId = superParkingBoy.Park(car);

            Assert.AreSame(car, manager.Pick(carId));
        }
        public void should_park_car_when_manages_smart_parking_boy()
        {
            var parkingLot      = new ParkingLot(1);
            var smartParkingBoy = new SmartParkingBoy(parkingLot);
            var parkingManager  = new ParkingManager(smartParkingBoy);
            var car             = new Car();

            var token     = parkingManager.Park(car);
            var pickedCar = parkingManager.Pick(token);

            pickedCar.Should().BeSameAs(car);
        }
        public void should_park_car_when_manages_multiple_parking_lots()
        {
            var fullParkingLot = new ParkingLotBuilder()
                                 .WithCapacity(1)
                                 .WithOccupiedParkingSpace(1)
                                 .Create();
            var parkingManager = new ParkingManager(fullParkingLot, new ParkingLot(1));
            var car            = new Car();

            var token     = parkingManager.Park(car);
            var pickedCar = parkingManager.Pick(token);

            pickedCar.Should().BeSameAs(car);
        }
Пример #8
0
        public void should_pick_from_his_parkinglot()
        {
            var parkinglot = new Parkinglot(1);
            var parkingManager = new ParkingManager(
                ParkingBoyFactory.CreateParkingBoy(new Parkinglot(0)),
                ParkingBoyFactory.CreateSmartParkingBoy(new Parkinglot(0)),
                ParkingBoyFactory.CreateSuperParkingBoy(new Parkinglot(0)),
                parkinglot);
            var car = new Car();

            var token = parkinglot.Park(car);

            Assert.Same(car, parkingManager.Pick(token));
        }
Пример #9
0
        public void should_parkingManager_pick_when_parkingboy_parked()
        {
            var parkingBoy = ParkingBoyFactory.CreateParkingBoy(new Parkinglot());
            var parkingManager = new ParkingManager(
                ParkingBoyFactory.CreateSmartParkingBoy(new Parkinglot(0)),
                parkingBoy,
                ParkingBoyFactory.CreateSuperParkingBoy(new Parkinglot()),
                new Parkinglot());
            var car = new Car();

            var token = parkingBoy.Park(car);

            Assert.Same(car, parkingManager.Pick(token));
        }