Skip to content

Instantly share code, notes, and snippets.

@jhuska
Created February 5, 2014 11:27
Show Gist options
  • Save jhuska/8821649 to your computer and use it in GitHub Desktop.
Save jhuska/8821649 to your computer and use it in GitHub Desktop.
@Test
public void testCanEnhance() {
RemoteWebDriver remoteDriver = new RemoteWebDriver(new DesiredCapabilities());
RemoteWebDriver mockedRemoteDriver = mock(RemoteWebDriver.class);
InstanceOrCallableInstance instance1 = mock(InstanceOrCallableInstance.class);
InstanceOrCallableInstance instance2 = mock(InstanceOrCallableInstance.class);
InstanceOrCallableInstance instance3 = mock(InstanceOrCallableInstance.class);
doReturn(remoteDriver).when(instance1).asInstance(RemoteWebDriver.class);
doReturn(remoteDriver).when(instance1).asInstance(WebDriver.class);
doReturn(remoteDriver).when(instance1).asInstance(ReusableRemoteWebDriver.class);
doReturn(new FirefoxDriver()).when(instance2).asInstance(WebDriver.class);
doReturn(mockedRemoteDriver).when(instance3).asInstance(WebDriver.class);
assertTrue("AugmentingEnhancer should enhance when droneType == RemoteWebDriver.class",
enhancer.canEnhance(instance1, RemoteWebDriver.class, Default.class));
assertTrue("AugmentingEnhancer should enhance when droneType == ReusableRemoteWebDriver.class",
enhancer.canEnhance(instance1, ReusableRemoteWebDriver.class, Default.class));
assertTrue("AugmentingEnhancer should enhance when real instance is RemoteWebDriver",
enhancer.canEnhance(instance1, WebDriver.class, Default.class));
assertFalse("AugmentingEnhancer should not enhance when real instance is not RemoteWebDriver || ReusableRemoteWebDriver",
enhancer.canEnhance(instance2, WebDriver.class, Default.class));
assertFalse("AugmentingEnhancer should not enhance extensions of supported classes!",
enhancer.canEnhance(instance3, WebDriver.class, Default.class));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment