Опитвам се да напиша тест, който покрива моята обработка на грешки в определен клас. Този клас очаква събитие за грешка със следния подпис:
OnError(int ErrorNumber, string ErrorText, ref bool retry)
Проблемът е с променливата ref bool в края. Използвам Rhino Mocks, за да създам макет интерфейс за тестване и когато се опитам да повиша грешката, като използвам следното:
bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", ref retry);
Той дори няма да се компилира, казвайки ми, че не може да конвертира от ref bool в Object.
Ако променя подписа на:
bool retry = false;
AdapterMock.Raise(x => x.Error += null, 0, "0", retry);
Компилирам добре, но тестът се проваля с System.InvalidOperationException: параметър #3 е System.Boolean, но трябва да бъде System.Boolean&
Скубя си косата за това, как правилно да повдигна това събитие в моя макет?