public void ChooseNextYearTest()
        {
            //ARRANGE
            ParkingCalculatorPage parkingCalculatorPage = new ParkingCalculatorPage();
            parkingCalculatorPage.Invoke();

            //ACT
            parkingCalculatorPage.DdlChooseALot.SelectByText("Short-Term Parking");

            parkingCalculatorPage.BtnEntryDateTimeCalendar.Click();

            IWebElement nextYearBtn = parkingCalculatorPage.EntryCalendarWindow.WrappedDriver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[2]/a[2]"));
            nextYearBtn.Click();

            parkingCalculatorPage.EntryCalendarWindow.ClickByDay(DateTime.Now.Day);

            string valueTextOfNextYearBtn = parkingCalculatorPage.EntryDateInput.GetAttribute("value");

            int nextYear = DateTime.Now.Year + 1;

            int mouthNow = DateTime.Now.Month;

            int dayNow = DateTime.Now.Day;

            string dateTimeOfNextYear = mouthNow + "/" + dayNow + "/" + nextYear;

            //ASSERT
            Assert.AreEqual(valueTextOfNextYearBtn, dateTimeOfNextYear);
        }
        public void EpLotTest()
        {
            //Arrange
            ParkingCalculatorPage parkingCalculatorPage = new ParkingCalculatorPage();
            parkingCalculatorPage.Invoke();

            //Act
            parkingCalculatorPage.DdlChooseALot.SelectByText("Economy Parking");
            parkingCalculatorPage.BtnEntryDateTimeCalendar.Click();

            parkingCalculatorPage.EntryCalendarWindow.ClickByDay(DateTime.Now.Day);

            int daysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);

            for (int i = 0; i < 10; i++)
            {
                parkingCalculatorPage.BtnLeavingDateTimeCalendar.Click();

                parkingCalculatorPage.LeavingCalendarWindow.ClickByDay(DateTime.Now.AddDays(i + 1).Day);

                parkingCalculatorPage.BtnCalculate.Click();

                ReadOnlyCollection<IWebElement> tds = parkingCalculatorPage.Driver.FindElements(By.TagName("td"));

                foreach (var td in tds)
                {
                    if (td.GetAttribute("width") == "325")
                    {
                        IWebElement b = td.FindElement(By.TagName("b"));

                        string bText = b.Text.Remove(0, 2).Replace('.', ','); // remove "replace" for english localization
                        //
                        parkingCalculatorPage.DdlChooseALot.SelectByText("Economy Parking");
                        //

                        decimal priceActual = 0;
                        decimal.TryParse(bText, out priceActual);
                        if (priceActual == 0)
                        {
                            Assert.Fail("Price cannot be ZERO!");
                        }

                        decimal expectedPrice = CalculatePrice(i + 1, LotEnumType.Ep);

                        //ASSERT
                        Assert.AreEqual(expectedPrice, priceActual);

                    }
                }
            }
        }
        public void CheckAllLotsTest()
        {
            //ARRANGE
            ParkingCalculatorPage parkingCalculatorPage = new ParkingCalculatorPage();
            parkingCalculatorPage.Invoke();

            List<string> lotOption = new List<string>();
            lotOption.Add("Short-Term Parking");
            lotOption.Add("Economy Parking");
            lotOption.Add("Long-Term Surface Parking");
            lotOption.Add("Long-Term Garage Parking");
            lotOption.Add("Valet Parking");

            //ASSERT
            Assert.AreEqual(5, parkingCalculatorPage.DdlChooseALot.Options.Count);

            foreach (IWebElement selectOption in parkingCalculatorPage.DdlChooseALot.Options)
            {
                string textOption = selectOption.Text;

                Assert.IsTrue(lotOption.Contains(textOption), "Oops, text " + textOption + " does not exist");
            }
        }
        public void ValidationCostTest()
        {
            //ARRANGE
            ParkingCalculatorPage parkingCalculatorPage = new ParkingCalculatorPage();
            parkingCalculatorPage.Invoke();

            //ACT
            parkingCalculatorPage.DdlChooseALot.SelectByText("Short-Term Parking");
            ReadOnlyCollection<IWebElement> validationCostText = parkingCalculatorPage.Driver.FindElements(By.ClassName("SubHead"));

            IWebElement calculateBtn = parkingCalculatorPage.Driver.FindElement(By.Name("Submit"));
            calculateBtn.Click();

            IWebElement validation = parkingCalculatorPage.Driver.FindElement(By.TagName("b"));
            string validationText = validation.Text;

            //ASSERT
               //?? Assert.IsTrue(validationText);
        }