1 package eu
.etaxonomy
.taxeditor
.service
;
3 import net
.bytebuddy
.ByteBuddy
;
4 import net
.bytebuddy
.dynamic
.ClassLoadingStrategy
;
5 import net
.bytebuddy
.instrumentation
.MethodDelegation
;
6 import net
.bytebuddy
.matcher
.ElementMatchers
;
8 import org
.apache
.log4j
.Logger
;
9 import org
.junit
.Assert
;
10 import org
.junit
.Test
;
12 public class ServiceRebasingTest
{
14 private static final Logger logger
= Logger
.getLogger(ServiceRebasingTest
.class);
17 public void nameArgumentTest() throws InstantiationException
, IllegalAccessException
{
18 ITestService testService
= new TestService();
19 String value
= testService
.test("Hello World");
20 Assert
.assertEquals("String : Hello World", value
);
22 testService
= new ByteBuddy()
23 .subclass(ITestService
.class)
24 .method(ElementMatchers
.named("test"))
25 .intercept(MethodDelegation
.to(TargetTestService
.class).filter(ElementMatchers
.named("test")))
27 .load(getClass().getClassLoader(), ClassLoadingStrategy
.Default
.WRAPPER
)
31 value
= testService
.test("Hello World");
32 Assert
.assertEquals("Overridden String : Hello World", value
);