Это означает, что вычтите 1 из n
и проверьте, больше ли результат, чем 1.
n--
в любой части кода эквивалентно n = n - 1
, или `` n - = 1`, в этом цикле это обобщенный способ вычитания и оценки.
Я не могу предложить Вам, точное решение, но альтернатива состояло бы в том, чтобы скрыть pass-ref семантику позади адаптера, который берет параметр значением и вперед этим к RemotingHandler. Это было бы легче дразнить и удалит "касательно" бородавки от интерфейса (я всегда подозрителен к касательно параметров :-))
Править:
Или Вы могли использовать тупик вместо насмешки, например:
public class StubRemotingHandler : IRemotingHandler
{
public CustomerContact savedContact;
public void SaveCustomerContact(ref CustomerContact contact)
{
savedContact = contact;
}
}
Можно теперь исследовать сохраненный объект в тесте:
IRemotingHandler remote = new StubRemotingHandler();
...
//pass the stub to your object-under-test
...
target.AddContact();
Assert.AreEqual(expected, remote.savedContact);
Вы также говорите в своем комментарии:
Я не хотел бы запустить прецедент обертывания случайных битов бэкенда, таким образом, я могу записать тесты более легко
Я думаю, что это - точно прецедент, который необходимо создать! Если Ваш код не является тестируемым, Вы собираетесь продолжать изо всех сил пытаться протестировать его. Помогите протестировать, и увеличить Ваше покрытие.
Последняя версия Moq поддерживает этот сценарий.
Взято из быстрого старта в http: // code.google.com/p/moq/wiki/QuickStart:
// ref arguments
var instance = new Bar();
// Only matches if the ref argument to the invocation is the same instance
mock.Setup(foo => foo.Submit(ref instance)).Returns(true);
К сожалению, я не уверен, что это возможно без прямой поддержки со стороны Moq. Проблема состоит в том, что Лямбда-выражения не поддерживают касательно или.
"Лямбда-выражение не может непосредственно получить касательно или параметр от метода вложения".
http://msdn.microsoft.com/en-us/library/bb397687.aspx
Я не могу даже заставить пример как Ваш работать. Добавлению касательно к установке не удается скомпилировать.
Вы могли бы хотеть проверить обсуждения Moq для большего количества http://groups.google.com/group/moqdisc
Удачи.