public void TestGetPropertyWhenPropertyGetFails() { IPropertyData resultPropertyData; var page = new Mock <IPage>(MockBehavior.Strict); page.Setup(p => p.TryGetProperty("MyProperty", out resultPropertyData)).Returns(false); page.Setup(p => p.GetPropertyNames(It.IsAny <Func <IPropertyData, bool> >())).Returns(new[] { "Property1" }); page.SetupGet(p => p.PageType).Returns(typeof(ElementLocatorFixture)); var locatorAction = new Mock <ILocatorAction>(MockBehavior.Strict); locatorAction.Setup(p => p.OnLocate("MyProperty")); locatorAction.Setup(p => p.OnLocateComplete("MyProperty", null)); var locator = new ElementLocator(page.Object, new[] { locatorAction.Object }); try { locator.GetProperty("MyProperty"); } catch (ElementExecuteException) { page.VerifyAll(); locatorAction.VerifyAll(); throw; } }
public void TestGetPropertyWhenPropertyGetIsSuccessful() { var resultPropertyData = new Mock <IPropertyData>().Object; var page = new Mock <IPage>(MockBehavior.Strict); page.Setup(p => p.TryGetProperty("MyProperty", out resultPropertyData)).Returns(true); var locatorAction = new Mock <ILocatorAction>(MockBehavior.Strict); locatorAction.Setup(p => p.OnLocate("MyProperty")); locatorAction.Setup(p => p.OnLocateComplete("MyProperty", resultPropertyData)); var locator = new ElementLocator(page.Object, new[] { locatorAction.Object }); var propertyData = locator.GetProperty("MyProperty"); Assert.IsNotNull(propertyData); Assert.AreSame(resultPropertyData, propertyData); page.VerifyAll(); locatorAction.VerifyAll(); }