예제 #1
0
        public void CompleteParkingTest()
        {
            IParkingLotService myTestParkingLot = new ParkingLotManager.ParkingLot(GetFakeParkingLot(), new SpotSearchService());

            ParkingSpot spot;

            //Sedan Getting Sedan
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.That(spot.OccupiedVehicle.VehicleSize == Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Sedan);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.That(spot.OccupiedVehicle.VehicleSize == Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Sedan);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.That(spot.OccupiedVehicle.VehicleSize == Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Sedan);


            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.That(spot.OccupiedVehicle.VehicleSize == Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Sedan);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.That(spot.OccupiedVehicle.VehicleSize == Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Sedan);

            //Sedan getting Trucks spots

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Truck);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Sedan);
            Assert.AreEqual(spot.SpotSize, Size.Truck);

            ////Truck getting truck spots

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Truck);
            Assert.AreEqual(spot.SpotSize, Size.Truck);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Truck);
            Assert.AreEqual(spot.SpotSize, Size.Truck);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Truck);
            Assert.AreEqual(spot.SpotSize, Size.Truck);

            //No parking slots avialable
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Assert.IsNull(spot);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Assert.IsNull(spot);

            //Confirm hatchback slots.
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Hatchback);
            Assert.AreEqual(spot.SpotSize, Size.Hatchback);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Hatchback);
            Assert.AreEqual(spot.SpotSize, Size.Hatchback);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Hatchback);
            Assert.AreEqual(spot.SpotSize, Size.Hatchback);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Hatchback);
            Assert.AreEqual(spot.SpotSize, Size.Hatchback);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Assert.AreEqual(spot.OccupiedVehicle.VehicleSize, Size.Hatchback);
            Assert.AreEqual(spot.SpotSize, Size.Hatchback);
        }
        static void Main(string[] args)
        {
            ParkingLot myTestParkingLot = new ParkingLot();

            myTestParkingLot.NumOfHatchbacks = 5;
            myTestParkingLot.NumOfSedans     = 5;
            myTestParkingLot.NumOfTrucks     = 5;

            myTestParkingLot.InitializeParkingLot();

            ParkingSpot spot;

            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Sedan
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);


            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Truck
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Truck
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Truck
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Truck
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Truck
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);

            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Hatchback
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Hatchback
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Hatchback
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Hatchback
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(new Vehicle()
            {
                VehicleSize = Size.Hatchback
            });
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);

            Console.Read();
        }
예제 #3
0
        //Main Method who calls the AssignParking
        static void Main(string[] args)
        {
            IParkingLotService myTestParkingLot = new ParkingLot(GetFakeParkingLot(), new SpotSearchService());

            ParkingSpot spot;

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Sedan));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);


            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Truck));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);

            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);
            spot = myTestParkingLot.AssignParkingSpot(GetFakeVehicle(Size.Hatchback));
            Console.WriteLine(spot == null ? "No spot available" : "Assigned spot with size: " + spot.SpotSize);

            Console.Read();
        }