test_class.declarator: echoFilter = new EchoFilter()
test_class.original_string: Filter echoFilter = new EchoFilter();
test_class.type: Filter
test_class.var_name: echoFilter
test_class.file: dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/filter/EchoFilterTest.java
test_class.identifier: EchoFilterTest
test_case.body: @SuppressWarnings("unchecked")
      @Test
      public void testEcho() {
          Invocation invocation = mock(Invocation.class);
          given(invocation.getMethodName()).willReturn("$echo");
          given(invocation.getParameterTypes()).willReturn(new Class<?>[]{Enum.class});
          given(invocation.getArguments()).willReturn(new Object[]{"hello"});
          given(invocation.getObjectAttachments()).willReturn(null);
  
          Invoker<DemoService> invoker = mock(Invoker.class);
          given(invoker.isAvailable()).willReturn(true);
          given(invoker.getInterface()).willReturn(DemoService.class);
          AppResponse result = new AppResponse();
          result.setValue("High");
          given(invoker.invoke(invocation)).willReturn(result);
          URL url = URL.valueOf("test://test:11/test?group=dubbo&version=1.1");
          given(invoker.getUrl()).willReturn(url);
  
          Result filterResult = echoFilter.invoke(invoker, invocation);
          assertEquals("hello", filterResult.getValue());
      }
test_case.class_method_signature: EchoFilterTest.testEcho()
test_case.full_signature: @SuppressWarnings("unchecked") @Test public void testEcho()
test_case.identifier: testEcho
test_case.invocations: mock willReturn given getMethodName willReturn given getParameterTypes willReturn given getArguments willReturn given getObjectAttachments mock willReturn given isAvailable willReturn given getInterface setValue willReturn given invoke valueOf willReturn given getUrl invoke assertEquals getValue
test_case.modifiers: @SuppressWarnings("unchecked") @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEcho()
focal_class.file: dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/EchoFilter.java
focal_class.identifier: EchoFilter
focal_class.interfaces: implements Filter
focal_class.class_method_signature: EchoFilter.invoke(Invoker<?> invoker, Invocation inv)
focal_class.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation inv)
focal_class.identifier: invoke
focal_class.modifiers: @Override public
focal_class.parameters: (Invoker<?> invoker, Invocation inv)
focal_class.return: Result
focal_class.signature: Result invoke(Invoker<?> invoker, Invocation inv)
focal_method.body: @Override
      public Result invoke(Invoker<?> invoker, Invocation inv) throws RpcException {
          if (inv.getMethodName().equals($ECHO) && inv.getArguments() != null && inv.getArguments().length == 1) {
              return AsyncRpcResult.newDefaultAsyncResult(inv.getArguments()[0], inv);
          }
          return invoker.invoke(inv);
      }
focal_method.class_method_signature: EchoFilter.invoke(Invoker<?> invoker, Invocation inv)
focal_method.full_signature: @Override public Result invoke(Invoker<?> invoker, Invocation inv)
focal_method.identifier: invoke
focal_method.invocations: equals getMethodName getArguments getArguments newDefaultAsyncResult getArguments invoke
focal_method.modifiers: @Override public
focal_method.parameters: (Invoker<?> invoker, Invocation inv)
focal_method.return: Result
focal_method.signature: Result invoke(Invoker<?> invoker, Invocation inv)