public void ContainsWithDifferentType() { using (SingletonsContainer.Get <MyDisposable>("foo")) { Assert.IsFalse(SingletonsContainer.Contains <DummyDisposable>("foo")); } }
public void ContainsExistingWithKey() { using (SingletonsContainer.Get <MyDisposable>("foo")) { Assert.IsTrue(SingletonsContainer.Contains <MyDisposable>("foo")); } }
public void GetExistingWithCreateFunc() { using (var existingSingleton = new MyDisposable()) { SingletonsContainer.Add("foo", existingSingleton); var singleton = SingletonsContainer.Get("foo", () => new MyDisposable()); Assert.AreSame(existingSingleton, singleton); } }
public void GetExistingWrongKey() { using (var existingSingleton = new DummyDisposable()) { SingletonsContainer.Add("foo", existingSingleton); Assert.Throws(typeof(InvalidCastException), () => SingletonsContainer.Get <MyDisposable>("foo")); } }
public void GetExistingWithKey() { using (var existingSingleton = new MyDisposable()) { SingletonsContainer.Add("foo", existingSingleton); var singleton = SingletonsContainer.Get <MyDisposable>("foo"); Assert.AreSame(existingSingleton, singleton); } }
public void GetExistingReturnsCorrectOne() { using (var singleton1 = SingletonsContainer.Get <MyDisposable>()) { using (var singleton2 = SingletonsContainer.Get <MyDisposable>("foo")) { Assert.AreNotSame(singleton1, singleton2); Assert.AreSame(singleton1, SingletonsContainer.Get <MyDisposable>()); Assert.AreSame(singleton2, SingletonsContainer.Get <MyDisposable>("foo")); } } }
public void GetNonExistingWithCreateFunc() { var singleton = SingletonsContainer.Get("foo", () => new MyDisposable()); Assert.IsNotNull(singleton); }
public void GetNonExistingWithKey() { var singleton = SingletonsContainer.Get <MyDisposable>("foo"); Assert.IsNotNull(singleton); }