### Question:
LocalTCCRemotingParser extends AbstractedRemotingParser { @Override public RemotingDesc getServiceDesc(Object bean, String beanName) throws FrameworkException { if (!this.isRemoting(bean, beanName)) { return null; } RemotingDesc remotingDesc = new RemotingDesc(); remotingDesc.setReference(true); remotingDesc.setProtocol(Protocols.IN_JVM); Class<?> classType = bean.getClass(); Set<Class<?>> interfaceClasses = ReflectionUtil.getInterfaces(classType); for (Class<?> interClass : interfaceClasses) { if (interClass.isAnnotationPresent(LocalTCC.class)) { remotingDesc.setInterfaceClassName(interClass.getName()); remotingDesc.setInterfaceClass(interClass); remotingDesc.setTargetBean(bean); return remotingDesc; } } throw new FrameworkException("Couldn't parser any Remoting info"); }  @Override boolean isReference(Object bean, String beanName); @Override boolean isService(Object bean, String beanName); @Override RemotingDesc getServiceDesc(Object bean, String beanName); @Override short getProtocol();  }### Answer:
@Test public void testServiceDesc(){ TccActionImpl tccAction = new TccActionImpl(); RemotingDesc remotingDesc = localTCCRemotingParser.getServiceDesc(tccAction, "c"); Assertions.assertNotNull(remotingDesc); Assertions.assertEquals(remotingDesc.getInterfaceClassName(), "io.seata.rm.tcc.TccAction"); Assertions.assertEquals(remotingDesc.getInterfaceClass(), TccAction.class); Assertions.assertEquals(remotingDesc.getTargetBean(), tccAction); }