Usando uma estrutura com OCMock ou Hamcrest

Estou atingindo um obstáculo e me pergunto se as mentes coletivas brilhantes daqui podem ajudar. No ObjC CocoaTouch, estou tentando zombar de um objeto que aceita parâmetros struct e retorna uma estrutura. O OCMock está tossindo uma bola de cabelo, então tentei embrulhar com um fósforo Hamcrest. Não morra. A função / método que estou testando se parece com isso:

- (CLLocationCoordinate2D)pixelToLatLong:(CGPoint)aPoint;

Eu uso código como este:

#define OCMOCK_STRUCT(atype, variable) [NSValue value:&variable withObjCType:@encode(atype)]
-(void) testMyWidget
{
    CLLocationCoordinate2D ulLL = (CLLocationCoordinate2D){123,456};
    CLLocationCoordinate2D lrLL = (CLLocationCoordinate2D){654,321};
    [[[(id)myObj expect] andReturn:OCMOCK_STRUCT(CLLocationCoordinate2D, ulLL)] pixelToLatLong:(CGPoint){0,0}];
    [[[(id)myObj expect] andReturn:OCMOCK_STRUCT(CLLocationCoordinate2D, lrLL)] pixelToLatLong:(CGPoint){320,460}];//lower right point
}

Isso meio que funciona. Então, no meu objeto que estou testando, faço as edições necessárias para obter uma barra verde ... err .. botão verde na janela de informações da compilação. Quando tenho certeza de que meu teste deve ser aprovado, recebo erros de falha de declaração. Os erros informam que o método foi chamado inesperadamente e lista os valores dessas estruturas como pontos de interrogação. Tentei embrulhar as peças com fósforos Hamcrest, mas não estou chegando a lugar algum. Estou me preparando para interromper meu depurador, o que sem dúvida me mostrará o que há de errado. Alguém aqui teve problemas semelhantes com OCMock / Hamcrest e estruturas? Se sim, qual é a melhor maneira de lidar com esses tipos?

questionAnswers(4)

yourAnswerToTheQuestion