// Override
JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
NamedMethodMetaData overrideTimeoutMethod = new NamedMethodMetaData();
overrideTimeoutMethod.setId("override");
overrideTimeoutMethod.setMethodName("override");
MethodParametersMetaData parameter2 = new MethodParametersMetaData();
parameter2.add("override");
parameter2.add("parameter");
overrideTimeoutMethod.setMethodParams(parameter2);
overrideTimeoutMethod.setName("override");
override.setTimeoutMethod(overrideTimeoutMethod);
override.setName("override");
// Original
JBossSessionBeanMetaData original = new JBossSessionBeanMetaData();
NamedMethodMetaData originalTimeoutMethod = new NamedMethodMetaData();
originalTimeoutMethod.setId("id");
originalTimeoutMethod.setMethodName("methodName");
MethodParametersMetaData parameter = new MethodParametersMetaData();
parameter.add("originalParameter");
originalTimeoutMethod.setMethodParams(parameter);
originalTimeoutMethod.setName("name");
original.setTimeoutMethod(originalTimeoutMethod);
// Merged
JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
merged.merge(override, original);
NamedMethodMetaData namedMethod = merged.getTimeoutMethod();
assertEquals("override", merged.getName());
assertNotNull(namedMethod);
assertEquals("method id", "override", namedMethod.getId());
assertEquals("method name", "override", namedMethod.getMethodName());
assertEquals("override", namedMethod.getName());
MethodParametersMetaData methodParameters = namedMethod.getMethodParams();
assertEquals("override", methodParameters.get(0));
assertEquals("parameter", methodParameters.get(1));
}