请考虑以下三行代码是单元测试的一部分:
var order = new NewOrderSingleTestMessages().ValidMessage;
Expression<Func<ExecutionReport, bool>> expectedReply = r => r.OrderID.Obj != string.Empty &&
r.ClOrdID.Obj == order.ClOrdID.Obj &&
r.ExecID.Obj != string.Empty &&
r.ExecType.Obj == ExecType.NEW &&
r.OrdStatus.Obj == OrdStatus.NEW;
// a lot more conditions are required here!
// ...
processorMock.Verify(m => m.Process(It.Is(expectedReply), It.IsAny<SessionID>()), Times.Once);
丑!将来还会有更多条件。我该如何以更清晰更清晰的方式重构它?
嗯,我经常写返回的链接条件,例如: