@ParameterizedTest
    @ArgumentsSource(SerializationFormatProvider.class)
    void testSync_HelloService_hello_WhenSameMethodMultipleTimes(SerializationFormat defaultSerializationFormat)
            throws Exception {
        final HelloService.Client helloClient = new HelloService.Client.Factory().getClient(
                inProto(defaultSerializationFormat), outProto(defaultSerializationFormat));
        helloClient.send_hello(FOO);
        assertThat(out.length()).isGreaterThan(0);
        final HttpData req1 = HttpData.wrap(out.getArray(), 0, out.length());

        out = new TMemoryBuffer(128);
        final NameService.Client nameClient = new NameService.Client.Factory().getClient(
                inProto(defaultSerializationFormat), outProto(defaultSerializationFormat));
        nameClient.send_removeMiddle(new Name(BAZ, BAR, FOO));
        assertThat(out.length()).isGreaterThan(0);
        final HttpData req2 = HttpData.wrap(out.getArray(), 0, out.length());

        final THttpService service =
                THttpService.builder()
                            .addService((HelloService.Iface) name -> "Hello, " + name + '!')
                            // Duplicate service with same method name
                            .addService((HelloService.Iface) name -> "Hello (again) " + name + '!')
                            .addService((NameService.Iface) name -> new Name(name.first, null, name.last))
                            .defaultSerializationFormat(defaultSerializationFormat)
                            .build();

        invoke0(service, req1, promise);
        invoke0(service, req2, promise2);

        final HttpData res1 = promise.get();
        final HttpData res2 = promise2.get();

        in.reset(res1.array());
        assertThat(helloClient.recv_hello()).isEqualTo("Hello, foo!");

        in.reset(res2.array());
        assertThat(nameClient.recv_removeMiddle()).isEqualTo(new Name(BAZ, null, FOO));
    }
This tests when multiple thrift service implementations, with same service method are added under
default("") service name then the thrift service that is added first should handle the request.
And also makes sure that adding a duplicate service does not break other services.
thrift/thrift0.13/src/test/java/com/linecorp/armeria/server/thrift/ThriftServiceTest.java