public void AssignBay_AssignsVehiclesToDifferetBays_ForVehicles()
        {
            // Arrange
            var         vehicleOne = Substitute.For <IVehicle>();
            var         vehicleTwo = Substitute.For <IVehicle>();
            BaysManager sut        = CreateSut(3);

            // Act
            sut.AssignBay(vehicleOne);
            sut.AssignBay(vehicleTwo);

            // Assert
            Assert.AreEqual(0,
                            sut.FindVehicleBayId(vehicleOne),
                            "vehicleOne");

            Assert.AreEqual(1,
                            sut.FindVehicleBayId(vehicleTwo),
                            "vehicleTwo");
        }
        public void AssignBay_AssignsVehicleToBay_ForVehicle()
        {
            // Arrange
            var         vehicle = Substitute.For <IVehicle>();
            BaysManager sut     = CreateSut(3);

            // Act
            sut.AssignBay(vehicle);

            // Assert
            Assert.AreEqual(0,
                            sut.FindVehicleBayId(vehicle));
        }
        public void ReleaseBay_ReleasesBayFromVehicle_ForVehicle()
        {
            // Arrange
            var         vehicle = Substitute.For <IVehicle>();
            BaysManager sut     = CreateSut(3);

            sut.AssignBay(vehicle);

            // Act
            sut.ReleaseBay(vehicle);

            // Assert
            Assert.Throws <NoVehicleFoundInBaysException>(() => sut.FindVehicleBayId(vehicle));
        }