Example #1
0
 public void ContainsExistingWithKey()
 {
     using (SingletonsContainer.Get <MyDisposable>("foo"))
     {
         Assert.IsTrue(SingletonsContainer.Contains <MyDisposable>("foo"));
     }
 }
Example #2
0
 public void ContainsWithDifferentType()
 {
     using (SingletonsContainer.Get <MyDisposable>("foo"))
     {
         Assert.IsFalse(SingletonsContainer.Contains <DummyDisposable>("foo"));
     }
 }
Example #3
0
 public void RetrieveNonExistingSingleton()
 {
     using (var singleton = new MyDisposable())
     {
         SingletonsContainer.Add(singleton);
         Assert.IsNull(SingletonsContainer.Item("bla"));
     }
 }
Example #4
0
 public void RetrieveSingleton()
 {
     using (var singleton = new MyDisposable())
     {
         SingletonsContainer.Add(singleton);
         Assert.AreSame(singleton, SingletonsContainer.Item(typeof(MyDisposable).FullName));
     }
 }
Example #5
0
 public void AddingTwiceThrowsException()
 {
     using (var singleton = new MyDisposable())
     {
         SingletonsContainer.Add(singleton);
         Assert.Throws(typeof(ArgumentException), () => SingletonsContainer.Add(singleton));
     }
 }
        public void DisposeSingletons_NullSingleton_DoesNotCrash()
        {
            SingletonsContainer.Add(typeof(MyDisposable).FullName, null);

            Assert.That(() => SingletonsContainer.Release(), Throws.Nothing);

            Assert.That(SingletonsContainer.Contains <MyDisposable>(), Is.False);
        }
Example #7
0
 public void RemoveNonExistingSingleton()
 {
     using (var singleton = new MyDisposable())
     {
         SingletonsContainer.Add("foo", singleton);
         Assert.IsFalse(SingletonsContainer.Remove("bar"));
         Assert.AreSame(singleton, SingletonsContainer.Item("foo"));
     }
 }
Example #8
0
 public void GetExistingWrongKey()
 {
     using (var existingSingleton = new DummyDisposable())
     {
         SingletonsContainer.Add("foo", existingSingleton);
         Assert.Throws(typeof(InvalidCastException),
                       () => SingletonsContainer.Get <MyDisposable>("foo"));
     }
 }
Example #9
0
 public void GetExistingWithKey()
 {
     using (var existingSingleton = new MyDisposable())
     {
         SingletonsContainer.Add("foo", existingSingleton);
         var singleton = SingletonsContainer.Get <MyDisposable>("foo");
         Assert.AreSame(existingSingleton, singleton);
     }
 }
Example #10
0
 public void GetExistingWithCreateFunc()
 {
     using (var existingSingleton = new MyDisposable())
     {
         SingletonsContainer.Add("foo", existingSingleton);
         var singleton = SingletonsContainer.Get("foo", () => new MyDisposable());
         Assert.AreSame(existingSingleton, singleton);
     }
 }
Example #11
0
 public void RemoveSingleton()
 {
     using (var singleton = new MyDisposable())
     {
         SingletonsContainer.Add("foo", singleton);
         Assert.IsTrue(SingletonsContainer.Remove("foo"));
         Assert.IsFalse(singleton.DisposeCalled);
         Assert.IsNull(SingletonsContainer.Item("foo"));
     }
 }
Example #12
0
 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"));
         }
     }
 }
Example #13
0
        public void SingletonProperlyDisposed()
        {
            using (var singleton = new MyDisposable())
            {
                SingletonsContainer.Add(singleton.GetType().FullName, singleton);

                Assert.IsFalse(singleton.DisposeCalled);

                // Simulate application exit
                SingletonsContainer.Release();
                Assert.IsTrue(singleton.DisposeCalled);
            }
        }
        public void DisposeSingletons_ProperlyDisposedAutoKey()
        {
            using (var singleton = new MyDisposable())
            {
                SingletonsContainer.Add(singleton);

                Assert.IsFalse(singleton.DisposeCalled);

                // Simulate application exit
                SingletonsContainer.Release();
                Assert.IsTrue(singleton.DisposeCalled);
            }
        }
 public void ContainsNullSingleton()
 {
     SingletonsContainer.Add(typeof(MyDisposable).FullName, null);
     Assert.That(SingletonsContainer.Contains <MyDisposable>(), Is.True);
 }
Example #16
0
 public void ContainsNonExistingWithKey()
 {
     Assert.IsFalse(SingletonsContainer.Contains <MyDisposable>("foo"));
 }
Example #17
0
 public void ContainsNonExisting()
 {
     Assert.IsFalse(SingletonsContainer.Contains <MyDisposable>());
 }
Example #18
0
        public void GetNonExistingWithCreateFunc()
        {
            var singleton = SingletonsContainer.Get("foo", () => new MyDisposable());

            Assert.IsNotNull(singleton);
        }
Example #19
0
 public void Teardown()
 {
     SingletonsContainer.Release();
 }
Example #20
0
        public void GetNonExistingWithKey()
        {
            var singleton = SingletonsContainer.Get <MyDisposable>("foo");

            Assert.IsNotNull(singleton);
        }