Data Access Object TransactionDao があります。TransactionDao.Save(transaction) を呼び出すときに、 transaction.IsSaved=true フラグを設定したいと思います (これは、私がやろうとしている実際のことを単純化したものであり、それほど平凡ではありません)。では、RhinoMocks を使用して TransactionDao をモックする場合、入力を変換する必要があることをどのように示すことができますか?
理想的には、次のようなものを書きたいと思います。
Expect.Call(delegate {dao.Save(transaction);}).Override(x => x.IsSaved=true);
誰もこれを行う方法を知っていますか?
実際の型シグネチャがオフになっている下に指定されている回答からそれを行う方法のヒントを得ましたが、次のようなことを行う必要があります。これを行う:
public delegate void FakeSave(Transaction t);
...
Expect.Call(delegate {dao.Save(t); }).Do( new FakeSave(delegate(Transaction t2) { t.IsSaved = true; }));