blob: a1a3500bfa45314c660c47166ad6a0a7f394c966 [file] [log] [blame]
/*
* 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));
}
}