public void PartnersCanBeChanged() { var ctx = new StandardContext(); ctx.Add("Hotrod"); ctx.Replace("Douchebag"); ctx.Get<string>().ShouldBeEqualTo("Douchebag"); }
public void ContextDisposesOfDisposableThings() { var disp = MockRepository.GenerateMock<IDisposable>(); using (var ctx = new StandardContext()) ctx.Add(disp); disp.AssertWasCalled(d => d.Dispose()); }
public void PrimitivePolymorphismIsThere() { var ctx = new StandardContext(); var reader = new BinaryReader(new MemoryStream()); ctx.Add<IDisposable>(reader); ctx.Get<IDisposable>().ShouldBeTheSameAs(reader); }
public void ContextIsCloneable() { StandardContext ctx = new StandardContext(); ctx.Add("string"); var ctx2 = ctx.CloneContext(); ctx2.Get<string>().ShouldBeTheSameAs(ctx.Get<string>()); }
public void ContextLeavesDisposableThingsAloneIfYouWant() { var disp = MockRepository.GenerateMock<IDisposable>(); using (var ctx = new StandardContext()) ctx.Add(disp, false); disp.AssertWasNotCalled(d => d.Dispose()); }
public void AddingTwiceMakesContextChoke() { var ctx = new StandardContext(); ctx.Add("Hello"); ctx.Add("World"); }
public void ContextAcceptsOneOfAKind() { var ctx = new StandardContext(); ctx.Add("Hello"); ctx.Get<string>().ShouldBeEqualTo("Hello"); }
public void AnObjectAddedTwiceIsOnlyDisposedOnce() { var mock = MockRepository.GenerateMock<IDisposable>(); mock.Expect(d => d.Dispose()).Repeat.Once(); var ctx = new StandardContext(); ctx.Add(mock); ctx.Add((object)mock); ctx.Dispose(); mock.VerifyAllExpectations(); }
public void ContextCloneCanBeModifiedWithoutAffectingTheOriginal() { StandardContext ctx = new StandardContext(); ctx.Add("horse"); var ctx2 = ctx.CloneContext(); ctx2.Replace("dog"); ctx2.Add(new StringBuilder()); ctx.Get<string>().ShouldBeTheSameAs("horse"); ctx.Get<StringBuilder>().ShouldBeNull(); }