【发布时间】:2020-03-23 20:05:56
【问题描述】:
考虑以下三行代码,它们是单元测试的一部分:
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);
丑!未来还会有更多的条件。我怎样才能以更干净、更清晰的方式重构它?
【问题讨论】:
标签: c# lambda refactoring moq expression-trees