public void GetAllAvailableParkingspots_ValidData_ParkingspotCountEqualsFour()
        {
            // Arrange
            IList <Parkingspot> parkingspots = GenerateParkingspotData();

            parkingspots.Add(new Parkingspot()
            {
                Id = 25, ParkedSpaceship = null
            });
            parkingspots.Add(new Parkingspot()
            {
                Id = 26, ParkedSpaceship = null
            });
            parkingspots.Add(new Parkingspot()
            {
                Id = 27, ParkedSpaceship = null
            });
            parkingspots.Add(new Parkingspot()
            {
                Id = 28, ParkedSpaceship = null
            });

            var spaceshipContextMock = new Mock <SpaceContext>();

            spaceshipContextMock.Setup(p => p.Parkingspot).ReturnsDbSet(parkingspots);

            var logger = Mock.Of <ILogger <SpaceportRepository> >();
            var spaceportRepository = new SpaceportRepository(spaceshipContextMock.Object, logger);

            // Act
            var freeParkingspots = spaceportRepository.GetAllAvailableParkingspots(200).Result;

            // Assert
            Assert.AreEqual(4, freeParkingspots.Count);
        }
        public void GetAvailableParkingspot_ValidDataTwoFree_ParkingspotIdIs30()
        {
            // Arrange
            IList <Parkingspot> parkingspots = GenerateParkingspotData();

            parkingspots.Add(new Parkingspot()
            {
                Id = 30, ParkedSpaceship = null, SpaceportId = 500
            });
            parkingspots.Add(new Parkingspot()
            {
                Id = 31, ParkedSpaceship = null, SpaceportId = 500
            });

            var spaceshipContextMock = new Mock <SpaceContext>();

            spaceshipContextMock.Setup(p => p.Parkingspot).ReturnsDbSet(parkingspots);

            var logger = Mock.Of <ILogger <SpaceportRepository> >();
            var spaceportRepository = new SpaceportRepository(spaceshipContextMock.Object, logger);

            // Act
            var freeParkingspot = spaceportRepository.GetAvailableParkingspot(500, 200).Result;

            // Assert
            Assert.AreEqual(30, freeParkingspot.Id);
        }
        public void GetAvailableParkingspot_ValidDataZeroFree_IsNull()
        {
            // Arrange
            IList <Parkingspot> parkingspots = GenerateParkingspotData();

            var spaceshipContextMock = new Mock <SpaceContext>();

            spaceshipContextMock.Setup(p => p.Parkingspot).ReturnsDbSet(parkingspots);

            var logger = Mock.Of <ILogger <SpaceportRepository> >();
            var spaceportRepository = new SpaceportRepository(spaceshipContextMock.Object, logger);

            // Act
            var freeParkingspot = spaceportRepository.GetAvailableParkingspot(500, 200).Result;

            // Assert
            Assert.IsNull(freeParkingspot);
        }
        public void GetTravellerParkingspots_InvalidTravellerId_Count0()
        {
            // Arrange
            IList <Parkingspot> parkingspots = GenerateParkingspotData();
            var spaceshipContextMock         = new Mock <SpaceContext>();

            spaceshipContextMock.Setup(p => p.Parkingspot).ReturnsDbSet(parkingspots);

            var logger = Mock.Of <ILogger <SpaceportRepository> >();
            var spaceportRepository = new SpaceportRepository(spaceshipContextMock.Object, logger);

            int travellerId      = 999999999;
            int numberOfVehicles = 0;

            // Act
            var travellerParkingspots = spaceportRepository.GetTravellerParkingspots(travellerId).Result;

            // Assert
            Assert.AreEqual(numberOfVehicles, travellerParkingspots.Count);
        }