public override IObj withMeta(IPersistentMap meta) { if (meta == _meta) return this; //force eval before copying rest(); return new LazyCons(meta, _first, _rest); }
public void Setup() { MockRepository mocks = new MockRepository(); IPersistentMap meta = mocks.StrictMock<IPersistentMap>(); IFn fn = mocks.StrictMock<IFn>(); RMExpect.Call(fn.invoke()).Return(10); RMExpect.Call(fn.invoke(null)).Return(null); mocks.ReplayAll(); _objWithNullMeta = new LazyCons(fn); _obj = _objWithNullMeta.withMeta(meta); _expectedType = typeof(LazyCons); mocks.VerifyAll(); }