1 package io.github.magwas.inez.element.tests;
2
3 import static org.mockito.ArgumentMatchers.any;
4 import static org.mockito.Mockito.mock;
5 import static org.mockito.Mockito.when;
6
7 import java.lang.reflect.Constructor;
8
9 import io.github.magwas.inez.element.BridiElement;
10 import io.github.magwas.inez.element.BridiElementFactory;
11
12 public class BridiElementFactoryStub {
13 public static BridiElementFactory stub() throws NoSuchMethodException {
14 BridiElementFactory mock = mock(BridiElementFactory.class);
15 Constructor<BridiElement> declaredConstructor = BridiElement.class.getDeclaredConstructor(String.class);
16 declaredConstructor.setAccessible(true);
17 when(mock.apply(any())).thenAnswer(invocation -> {
18 String argument = invocation.getArgument(0, String.class);
19 return declaredConstructor.newInstance(argument);
20 });
21 return mock;
22 }
23 }