У меня есть следующий код (упрощенный).Как издеваться над вызовом метода из другого класса в Rhino Mock AAA?
public class OrderProcessor
{
public virtual string PlaceOrder(string test)
{
OrderParser orderParser = new OrderParser();
string tester = orderParser.ParseOrder(test);
return tester + " here" ;
}
}
public class OrderParser
{
public virtual string ParseOrder(string test)
{
if (!string.IsNullOrEmpty(test.Trim()))
{
if (test == "Test1")
return "Test1";
else
{
return "Hello";
}
}
else
return null;
}
}
Мой тест выглядит следующим образом -
public class OrderTest
{
public void TestParser()
{
// Arrange
var client = MockRepository.GenerateMock<OrderProcessor>();
var spec = MockRepository.GenerateStub<OrderParser>();
spec.Stub(x => x.ParseOrder("test")).IgnoreArguments().Return("Test1");
//How to pass spec to client so that it uses the same.
}
}
Теперь как я могу проверить клиента так, что он использует метод высмеивал от OrderParser. Я могу издеваться над OrderParser, но как передать это в orderProcessor mocked class?
Пожалуйста, дайте мне знать.
Заранее спасибо.