Xcodeを使用してiPadアプリケーションで行っているテスト駆動開発を支援するためにOCMockを使用しています。次のようなテストコードがあります。
id mock = [OCMockObject mockForProtocol:@protocol(SomeProtocol)];
Vector direction = { 1.0f, 2.0f, 3.0f };
[[mock expect] setDirection:direction];
コンパイルしようとすると、次のような警告とエラーが表示されます。
警告: 'setDirection:' という名前の複数のメソッドが見つかりました
エラー: 'Vector' を互換性のないタイプ
'UISwipeGestureRecognizerDirection' (別名 'enum UISwipeGestureRecognizerDirection') のパラメーターに送信しています
明らかに、コンパイラは、モックが想定されているオブジェクトのタイプを判断できません。別のクラスの setDirection メソッドではなく、SomeProtocol プロトコルの setDirection メソッドを処理するように指定する方法がわかりません。
このビルドのようなテスト ケースを成功させるにはどうすればよいでしょうか?