Ajuda com JMock

Pessoal, estou com um problema usando o JMock que não consegui entender o porquê.

A classe e o método que eu quero testar eh algo do tipo:

[code]public class GerenciamentoPontos {

 private RepositorioServidor repositorioServidor;

 public void bloqueiaPontos(Servidor servidor, ProcessoSeletivo processoSeletivo) {
         ...
        int qtdPontosNecessarios = processoSeletivo.getQtdPontosNecessarios();
         ...
       List<MovimentacaoPontosCredito> listaRegistrosPontosCredito = repositorioServidor.buscaRegistroCreditoPontos(servidor);
       ...
 } 

}[/code]

E minha classe de teste é algo do tipo:

[code]public class GerenciamentoPontosTest extends TestCase {
private ProcessoSeletivo processoSeletivoMock;
private RepositorioServidor repoServidorMock;
private Mockery context = new Mockery() {{
setImposteriser(ClassImposteriser.INSTANCE);
}};

@Override
protected void setUp() throws Exception {
  super.setUp();

   processoSeletivoMock = context.mock(ProcessoSeletivo.class);        
   repoServidorMock= context.mock(RepositorioServidor.class);
}

public void testBloqueiaPontosCenarioFeliz() {

GerenciamentoPontos gerenciamentoPontos = new GerenciamentoPontos();
   // Seta o mock do repositorio 
gerenciamentoPontos .setRepositorioServidor(repoServidorMock);

final ServidorBuilder builder = new ServidorBuilder();

// Saldo inicial de 30 pontos
final Servidor servidor = builder
		.addMovimentacaoCredito(new GregorianCalendar(2009, 05, 01).getTime(), 10)
		.addMovimentacaoCredito(new GregorianCalendar(2009, 05, 03).getTime(), 20)
		.build();

    // Definindo as expectativas...

// Processo Seletivo requer 15 pontos
context.checking(new Expectations() {{
    allowing (processoSeletivoMock).getQtdPontosNecessarios();
    will(returnValue(15));
    
    oneOf(repoServidorMock).buscaRegistroCreditoPontos(servidor);
    will(returnValue(builder.getListaMovimentacaoPontosCredito()));
}});
 ...

}
}[/code]

O problema e que quando eu executo esta classe de teste eu recebo este erro:

[quote]unexpected invocation: repoServidor.buscaRegistroCreditoPontos(<foo.Servidor@10da5eb> )
expectations:
allowed, already invoked 1 time: processoSeletivo.getQtdPontosNecessarios(); returns <15>
expected once, never invoked: repoServidor.buscaRegistroCreditoPontos(<foo.Servidor@10da5eb> ) ; returns a default value
what happened before this:
processoSeletivo.getQtdPontosNecessarios()

at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:56 )
at org.jmock.Mockery.dispatch(Mockery.java:218 )
at org.jmock.Mockery.access$000(Mockery.java:43 )
at org.jmock.Mockery$MockObject.invoke(Mockery.java:258 )
...

[/quote]

Ou seja, ele diz que o método “repoServidor.buscaRegistroCreditoPontos()” foi chamado de forma inesperada no mock, mas logo em seguida diz que esse mesmo método também nunca foi invocado (“expected once, never invoked”).

Com certeza sou eu que não devo estar fazendo algo correto. Alguém consegue ver qual é o problema ?

Problema resolvido.

Apenas para constar, o problema era que método que recebem objetos como parâmetros tem que ser definidos da seguinte forma:

em vez de:

o correto tem q ser: