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

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

            Assert.That(SingletonsContainer.Contains <MyDisposable>(), Is.False);
        }
Ejemplo n.º 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"));
     }
 }
Ejemplo n.º 8
0
 public void GetExistingWrongKey()
 {
     using (var existingSingleton = new DummyDisposable())
     {
         SingletonsContainer.Add("foo", existingSingleton);
         Assert.Throws(typeof(InvalidCastException),
                       () => SingletonsContainer.Get <MyDisposable>("foo"));
     }
 }
Ejemplo n.º 9
0
 public void GetExistingWithKey()
 {
     using (var existingSingleton = new MyDisposable())
     {
         SingletonsContainer.Add("foo", existingSingleton);
         var singleton = SingletonsContainer.Get <MyDisposable>("foo");
         Assert.AreSame(existingSingleton, singleton);
     }
 }
Ejemplo n.º 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);
     }
 }
Ejemplo n.º 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"));
     }
 }
Ejemplo n.º 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"));
         }
     }
 }
Ejemplo n.º 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);
            }
        }
Ejemplo n.º 14
0
        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);
            }
        }
Ejemplo n.º 15
0
 public void ContainsNullSingleton()
 {
     SingletonsContainer.Add(typeof(MyDisposable).FullName, null);
     Assert.That(SingletonsContainer.Contains <MyDisposable>(), Is.True);
 }
Ejemplo n.º 16
0
 public void ContainsNonExistingWithKey()
 {
     Assert.IsFalse(SingletonsContainer.Contains <MyDisposable>("foo"));
 }
Ejemplo n.º 17
0
 public void ContainsNonExisting()
 {
     Assert.IsFalse(SingletonsContainer.Contains <MyDisposable>());
 }
Ejemplo n.º 18
0
        public void GetNonExistingWithCreateFunc()
        {
            var singleton = SingletonsContainer.Get("foo", () => new MyDisposable());

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

            Assert.IsNotNull(singleton);
        }