Mockito: quando o método A.a é chamado, execute B.b

Estou usando o Mockito para testes da JUnit. Portanto, há uma determinada classe A que é usada no código que quero testar:

class A{

    public A(){}

    public final String a(String x){
        return "A.a: " + x;
    }

}

e eu quero substituir o método chamada A.a com outra chamada de método com os mesmos argumentos e mesmo tipo de valor de retorno. Como você pode ver, não é possível substituir o método a, estendendo a classe como ela é final. Então, o que eu tenho agora é outra classe B com o método B.b:

class B{

    public B(){}

    public String b(String x){
        return "B.b: " + x;
    }

}

Agora eu quero ter certeza que toda vez que A.a é chamado pelo código, o valor de retorno de B.b é usado no lugar. Existe a possibilidade de conseguir isso com Mockito (algo comoMockito.when(A.a(x)).thenReturn(B.b(x)); ) mas com o mesmo parâmetro x, sem saber o valor de x?

Qualquer ajuda seria apreciada, agradeço antecipadamente!

questionAnswers(3)

yourAnswerToTheQuestion