How can I mock a method with two signatures?
sudo code:
public Class ClassA{
//... do stuff
}
public Class ClassB{
//... do stuff
}
public Class BigClass
{
public BigClass(){}
public ClassB MapMe(ClassA a)
{
//... do stuff
return new ClassB();
}
public ClassA MapMe(ClassB a)
{
//... do stuff
return new ClassA();
}
}
public Class ClassToTest
{
public void DoSomething()
{
var ResultA = BigClass.MapMe(new ClassA());
//... do some more stuff
ResultA = BigClass.MapMe(new ClassB());
}
}
Apologies for the poor code example, doing this on IPad, but hopefully gives you the idea.
Just use Argument Constraints
EDIT:
I believe an other issue you faced – you’ve mocked
BigClasswithout backing interface so obviously RhinoMocks does not allow setting expectations on such a mock. So just abstract aBigClassby interface and mock based on it: