Exemplo n.º 1
0
 public void DeterministicDisposal()
 {
     var t = new TestDisposableObject();
     t.Dispose();
     Assert.That(t.DisposeUnmanagedResourcesCount, Is.EqualTo(1));
     Assert.That(t.DisposeManagedResourcesCount, Is.EqualTo(1));
 }
Exemplo n.º 2
0
        public void Dispose_CalledExplicitly()
        {
            //Act
            TestDisposableObject target = new TestDisposableObject();

            target.Dispose();

            //Assert
            target.IsDisposed.Should().BeTrue();
        }
Exemplo n.º 3
0
        public void Dispose_CalledWithUsing()
        {
            //Act
            TestDisposableObject target = null;

            using (target = new TestDisposableObject())
            {
            };

            //Assert
            target.IsDisposed.Should().BeTrue();
        }
Exemplo n.º 4
0
        public void CreateAndAdd_WithValue()
        {
            var expected = new TestDisposableObject();

            var target = new DisposableCollection();
            var actual = target.CreateAndAdd(expected);

            //Assert
            actual.Should().Be(expected);
            target.Should().HaveCount(1);
            target.Should().Contain(expected);
        }
Exemplo n.º 5
0
        public void Clear_ObjectsAreDisposed()
        {
            var expected = new TestDisposableObject();
            var target   = new DisposableCollection();

            target.Add(expected);

            //Act
            target.Clear();

            //Assert
            expected.IsDisposed.Should().BeTrue();
        }
Exemplo n.º 6
0
        public void Remove_DisposesOfItem()
        {
            var target = new DisposableCollection();
            var item   = new TestDisposableObject();

            //Act
            target.Add(item);
            var actual = target.Remove(item);

            //Assert
            actual.Should().BeTrue();
            item.IsDisposed.Should().BeTrue();
        }
Exemplo n.º 7
0
        public void Dispose_UsingDisposesObjects()
        {
            var expected = new TestDisposableObject();

            //Act
            using (var target = new DisposableCollection())
            {
                target.Add(expected);
            };

            //Assert
            expected.IsDisposed.Should().BeTrue();
        }
Exemplo n.º 8
0
        public void Clear_ValidCollectionWithNoDisposeFlagIsNotDisposed()
        {
            var expected = new TestDisposableObject();
            var target   = new DisposableCollection();

            target.Add(expected);

            //Act
            target.Clear(false);

            //Assert
            expected.IsDisposed.Should().BeFalse();
        }
Exemplo n.º 9
0
        public void Dispose_CalledExplicitlyAndWithUsing()
        {
            //Act
            TestDisposableObject target = null;

            using (target = new TestDisposableObject())
            {
                target.Dispose();
            };

            //Assert
            target.IsDisposed.Should().BeTrue();
            target.DisposeCount.Should().Be(1);
        }
Exemplo n.º 10
0
        public void ItemSet_DisposesOriginalItem()
        {
            var target       = new DisposableCollection();
            var originalItem = new TestDisposableObject();
            var newItem      = new TestDisposableObject();

            //Act
            target.Add(originalItem);
            target[0] = newItem;

            //Assert
            originalItem.IsDisposed.Should().BeTrue();
            newItem.IsDisposed.Should().BeFalse();
        }
Exemplo n.º 11
0
        public void Detach_DoesNotDispose()
        {
            var target   = new DisposableCollection();
            var expected = new TestDisposableObject();

            target.Add(expected);

            //Act
            var actual = target.Detach(expected);

            //Assert
            actual.Should().BeTrue();
            expected.IsDisposed.Should().BeFalse();
        }