public void ShouldCallBaseForHashCode()
        {
            IPolleableBean bean = new PolleableBean();
            IPolleableBean beanToCompare = new PolleableBean();

            Assert.AreEqual(bean.GetHashCode(), beanToCompare.GetHashCode(), "Hash codes for bean which have not had " +
                "setters called should be equal, but are not: " + bean.ToString() + ", " + beanToCompare.ToString());

            Mock<IWebDriver> mockDriver = new Mock<IWebDriver>();

            bean.Driver = mockDriver.Object;
            Assert.AreNotEqual(bean.GetHashCode(), beanToCompare.GetHashCode(), "Hash codes for bean which have " +
                "different values for their driver fields should not be equal, but are: " + bean.ToString() + ", " +
                beanToCompare.ToString());

            beanToCompare.Driver = mockDriver.Object;
            Assert.AreEqual(bean.GetHashCode(), beanToCompare.GetHashCode(), "Hash codes for bean which have the " +
                "same driver should be equal, but are not: " + bean.ToString() + ", " + beanToCompare.ToString());

            beanToCompare.LoadTimeout = 200;
            Assert.AreNotEqual(bean.GetHashCode(), beanToCompare.GetHashCode(), "Hash codes for bean which have " +
                "different values for their load timeout fields should not be equal, but are: " + bean.ToString() +
                ", " + beanToCompare.ToString());

            bean.LoadTimeout = 200;
            Assert.AreEqual(bean.GetHashCode(), beanToCompare.GetHashCode(), "Hash codes for bean which have the " +
                "same driver and load timeout should be equal, but are not: " + bean.ToString() + ", " +
                beanToCompare.ToString());
        }
        public void ShouldCallBaseForToString()
        {
            Mock<IWebDriver> mockDriver = new Mock<IWebDriver>();

            IPolleableBean bean = new PolleableBean();
            bean.Driver = mockDriver.Object;

            Assert.AreEqual("PolleableBean(LoadableBean(Driver: " + mockDriver.Object.ToString() +
                ", LoadTimeout: 30), " + "PollingTimeout: 30, PollingInterval: 1)", bean.ToString());
        }