/* * Copyright (c) 2017 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockitousage.plugins; import org.junit.Test; import org.mockito.Mockito; import org.mockito.internal.creation.instance.Instantiator; import org.mockito.plugins.AnnotationEngine; import org.mockito.plugins.InstantiatorProvider; import org.mockito.plugins.InstantiatorProvider2; import org.mockito.plugins.MockMaker; import org.mockito.plugins.MockitoPlugins; import org.mockito.plugins.PluginSwitch; import org.mockito.plugins.StackTraceCleanerProvider; import org.mockitoutil.TestBase; import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.withSettings; public class MockitoPluginsTest extends TestBase { private final MockitoPlugins plugins = Mockito.framework().getPlugins(); @Test public void provides_built_in_plugins() { assertNotNull(plugins.getInlineMockMaker()); assertNotNull(plugins.getDefaultPlugin(MockMaker.class)); assertNotNull(plugins.getDefaultPlugin(StackTraceCleanerProvider.class)); assertNotNull(plugins.getDefaultPlugin(PluginSwitch.class)); assertNotNull(plugins.getDefaultPlugin(InstantiatorProvider.class)); assertNotNull(plugins.getDefaultPlugin(InstantiatorProvider2.class)); assertNotNull(plugins.getDefaultPlugin(AnnotationEngine.class)); } @SuppressWarnings("deprecation") @Test public void instantiator_provider_backwards_compatibility() { InstantiatorProvider provider = plugins.getDefaultPlugin(InstantiatorProvider.class); Instantiator instantiator = provider.getInstantiator(withSettings().build(MockitoPluginsTest.class)); assertNotNull(instantiator.newInstance(MockitoPluginsTest.class)); } }