public void NewParkingFacility()
        {
            var obj = new ParkingFacility();

            Assert.IsNotNull(obj.ParkingRamps);
            Assert.IsTrue(obj.IsFull);
            obj.ParkingRamps.Add(new ParkingRamp(obj, "Red", 1, 100));
            Assert.IsFalse(obj.IsFull);
        }
        public void ParkingFacilityGetOpenRamp()
        {
            var obj = new ParkingFacility();

            obj.ParkingRamps.Add(new ParkingRamp(obj, "Red", 1, 50));
            obj.ParkingRamps.Add(new ParkingRamp(obj, "Blue", 5, 50));
            var ramp = obj.GetOpenRamp();

            Assert.IsNotNull(ramp);
        }
예제 #3
0
        public void FloorTick()
        {
            var facility = new ParkingFacility();
            var ramp     = new ParkingRamp(facility, "Red", 0, 100);
            var floor    = new ParkingFloor(ramp, "A", 5);

            floor.InQueue.Enqueue(new Auto("", .001));
            floor.Tick();
            Assert.AreEqual(1, floor.ParkingLocations.Where(r => r.Occupant != null).Count());

            Simulator.Clock.Tick();
            floor.Tick();
            Assert.AreEqual(0, floor.ParkingLocations.Where(r => r.Occupant != null).Count());
        }
예제 #4
0
        public void ShouldSupportParkingSpotCollectionInitializer()
        {
            var spot1 = new ParkingSpot("1");
            var spot2 = new ParkingSpot("2");
            var spot3 = new ParkingSpot("3");

            var garage = new ParkingFacility {
                spot1, spot2, spot3
            };

            Assert.AreEqual(3, garage.All.Count);

            Assert.IsFalse(new List <ParkingSpot> {
                spot1, spot2, spot3
            }.Except(garage.All).Any());
        }
예제 #5
0
        public void ShouldOnlyAcceptUniqueParkingSpots()
        {
            var garage = new ParkingFacility();

            Assert.AreEqual(0, garage.All.Count);

            var spot1 = new ParkingSpot("1");
            var spot2 = new ParkingSpot("2");
            var spot3 = new ParkingSpot("3");

            Assert.IsTrue(garage.Add(spot1, spot2, spot3));
            Assert.AreEqual(3, garage.All.Count);

            Assert.IsFalse(garage.Add(spot3));
            Assert.AreEqual(3, garage.All.Count);
        }