Beispiel #1
0
      //[ExpectedException(typeof(Exception))]
      public void GetAvailableSitesWhenDatesAlreadyBooked()
      {
          DateTime     arrivalDate   = DateTime.Parse("2020-06-01");
          DateTime     departureDate = DateTime.Parse("2020-06-10");
          SiteSqlDAO   siteSqlDAO    = new SiteSqlDAO(connectionString);
          IList <Site> sites         = siteSqlDAO.GetAvailableSites(campId.ToString(), arrivalDate, departureDate);

          Assert.IsTrue(sites.Count == 0);
      }
        public void TestGetAvailableSitesAdvancedSearchNoMatches()
        {
            //Arrange
            SiteSqlDAO dao = new SiteSqlDAO(connectionString);

            //Act
            IList <Site> sites = dao.GetAvailableSites(newCampgroundId, Convert.ToDateTime("01/01/2020"), Convert.ToDateTime("05/19/2020"), 4, false, 22, true);

            //Assert
            Assert.AreEqual(0, sites.Count);
        }
        public void GetAvailableSites_Returns_One_Site()
        {
            //Arrange
            SiteSqlDAO siteDao = new SiteSqlDAO(ConnectionString);

            //Act - returns one site added in test-script.sql
            IList <Site> sites = siteDao.GetAvailableSites(NewCampgroundId, DateTime.Now.AddDays(2.0), DateTime.Now);

            //Assert
            Assert.AreEqual(1, sites.Count);
        }
        public void GetAvailableSiteTest_ShouldReturn_CorrectCount_Of_Sites(int expectedResult, int campgroundId, string startDate, string endDate)
        {
            DateTime start = Convert.ToDateTime(startDate);
            DateTime end   = Convert.ToDateTime(endDate);

            SiteSqlDAO dao = new SiteSqlDAO(ConnectionString);

            IList <Site> sites = dao.GetAvailableSites(CampgroundId, start, end);

            int actualResult = sites.Count;

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void TestGetAvailableSitesAdvancedSearchWithMatches()
        {
            //Arrange
            SiteSqlDAO dao = new SiteSqlDAO(connectionString);

            //Act
            IList <Site> sites = dao.GetAvailableSites(newCampgroundId, Convert.ToDateTime("06/13/2020"), Convert.ToDateTime("06/19/2020"), 3, false, 0, true);
            int          i     = 0;

            for (; i < sites.Count; i++)
            {
                if (sites[i].SiteId == newSiteId)
                {
                    break;
                }
            }

            //Assert
            Assert.AreEqual(1, sites.Count);
            Assert.AreEqual(10, sites[i].SiteNumber);
        }
        public void TestGetAvailableSites()
        {
            //Arrange
            SiteSqlDAO dao = new SiteSqlDAO(connectionString);

            //Act
            IList <Site> sites = dao.GetAvailableSites(newCampgroundId, Convert.ToDateTime("05/05/2020"), Convert.ToDateTime("05/19/2020"));
            int          i     = 0;

            for (; i < sites.Count; i++)
            {
                if (sites[i].SiteId == newSiteId)
                {
                    break;
                }
            }

            //Assert
            Assert.AreEqual(1, sites.Count);
            Assert.AreEqual(4, sites[i].MaxOccupancy);
        }
        public void GetAllAvailableCampSitesTest()
        {
            //campground ID = 7 has 5 campsites and there are no reservations in them
            //the site IDs for campground 7 are 47 to 51
            //Arrange
            ISiteDAO   dao  = new SiteSqlDAO(connection);
            Campground camp = new Campground()
            {
                CampgroundID = 7
            };
            DateTime timeToCheck1         = Convert.ToDateTime("10/05/2020");
            DateTime timeToCheck2         = Convert.ToDateTime("10/10/2020");
            DateTime timeToCheckAgainst1a = Convert.ToDateTime("10/01/2020");
            DateTime timeToCheckAgainst1b = Convert.ToDateTime("10/05/2020");
            DateTime timeToCheckAgainst2a = Convert.ToDateTime("10/01/2020");
            DateTime timeToCheckAgainst2b = Convert.ToDateTime("10/06/2020");
            DateTime timeToCheckAgainst3a = Convert.ToDateTime("10/06/2020");
            DateTime timeToCheckAgainst3b = Convert.ToDateTime("10/09/2020");
            DateTime timeToCheckAgainst4a = Convert.ToDateTime("10/09/2020");
            DateTime timeToCheckAgainst4b = Convert.ToDateTime("10/11/2020");
            DateTime timeToCheckAgainst5a = Convert.ToDateTime("10/11/2020");
            DateTime timeToCheckAgainst5b = Convert.ToDateTime("10/20/2020");
            DateTime timeToCheckAgainst6a = Convert.ToDateTime("10/01/2020");
            DateTime timeToCheckAgainst6b = Convert.ToDateTime("10/20/2020");


            using (SqlConnection conn = new SqlConnection(connection))
            {
                conn.Open();
                string     SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(47, 'Thomas Family', @fd, @td)";
                SqlCommand cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst1a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst1b);
                cmd.ExecuteNonQuery();
                SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(47, 'Thomas Family', @fd, @td)";
                cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst2a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst2b);
                cmd.ExecuteNonQuery();
                SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(48, 'Thomas Family', @fd, @td)";
                cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst3a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst3b);
                cmd.ExecuteNonQuery();
                SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(49, 'Thomas Family', @fd, @td)";
                cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst4a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst4b);
                cmd.ExecuteNonQuery();
                SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(50, 'Thomas Family', @fd, @td)";
                cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst5a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst5b);
                cmd.ExecuteNonQuery();
                SQLcmd = @"INSERT reservation
(site_id, name, from_date, to_date)
VALUES
(47, 'Thomas Family', @fd, @td)";
                cmd    = new SqlCommand(SQLcmd, conn);
                cmd.Parameters.AddWithValue("@fd", timeToCheckAgainst6a);
                cmd.Parameters.AddWithValue("@td", timeToCheckAgainst6b);
                cmd.ExecuteNonQuery();
            }
            //Act
            IList <Site> sites = dao.GetAvailableSites(timeToCheck1, timeToCheck2, camp);

            //Assert
            Assert.AreEqual(2, sites.Count);      //it should return only site with ID 50 and 51, because 50 doesn't have conflicting reervation dates, and 51 has no reservation dates
            Assert.AreEqual(50, sites[0].SiteID); //the first in the list should be ID 50
            Assert.AreEqual(51, sites[1].SiteID); //the second in the list should be ID 51
        }