Exemple #1
0
        public void SutIsDisposable()
        {
            // Arrange
            // Act
            var sut = new DisposableTrackingBehavior();

            // Assert
            Assert.IsAssignableFrom <IDisposable>(sut);
        }
Exemple #2
0
        public void SutIsSpecimenBuilderTransformation()
        {
            // Arrange
            // Act
            var sut = new DisposableTrackingBehavior();

            // Assert
            Assert.IsAssignableFrom <ISpecimenBuilderTransformation>(sut);
        }
Exemple #3
0
        public void SutIsSpecimenBuilderTransformation()
        {
            // Fixture setup
            // Exercise system
            var sut = new DisposableTrackingBehavior();

            // Verify outcome
            Assert.IsAssignableFrom <ISpecimenBuilderTransformation>(sut);
            // Teardown
        }
Exemple #4
0
        public void BehaviorIsInstance()
        {
            // Arrange
            var sut = new DisposableTrackingCustomization();
            // Act
            DisposableTrackingBehavior result = sut.Behavior;

            // Assert
            Assert.NotNull(result);
        }
Exemple #5
0
        public void TrackersIsInstance()
        {
            // Arrange
            var sut = new DisposableTrackingBehavior();
            // Act
            IEnumerable <DisposableTracker> result = sut.Trackers;

            // Assert
            Assert.NotNull(result);
        }
Exemple #6
0
        public void SutIsDisposable()
        {
            // Fixture setup
            // Exercise system
            var sut = new DisposableTrackingBehavior();

            // Verify outcome
            Assert.IsAssignableFrom <IDisposable>(sut);
            // Teardown
        }
Exemple #7
0
        public void TrackersIsInstance()
        {
            // Fixture setup
            var sut = new DisposableTrackingBehavior();
            // Exercise system
            IEnumerable <DisposableTracker> result = sut.Trackers;

            // Verify outcome
            Assert.NotNull(result);
            // Teardown
        }
Exemple #8
0
        public void TransformReturnsCorrectSpecimenBuilderType()
        {
            // Arrange
            var sut = new DisposableTrackingBehavior();
            // Act
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var result       = sut.Transform(dummyBuilder);

            // Assert
            Assert.IsAssignableFrom <DisposableTracker>(result);
        }
        public void BehaviorIsInstance()
        {
            // Fixture setup
            var sut = new DisposableTrackingCustomization();
            // Exercise system
            DisposableTrackingBehavior result = sut.Behavior;

            // Verify outcome
            Assert.NotNull(result);
            // Teardown
        }
Exemple #10
0
        public void TransformReturnsCorrectSpecimenBuilderType()
        {
            // Fixture setup
            var sut = new DisposableTrackingBehavior();
            // Exercise system
            var dummyBuilder = new DelegatingSpecimenBuilder();
            var result       = sut.Transform(dummyBuilder);

            // Verify outcome
            Assert.IsAssignableFrom <DisposableTracker>(result);
            // Teardown
        }
Exemple #11
0
        public void TransformReturnsCorrectResult()
        {
            // Arrange
            var sut             = new DisposableTrackingBehavior();
            var expectedBuilder = new DelegatingSpecimenBuilder();
            // Act
            var result = sut.Transform(expectedBuilder);
            // Assert
            var tracker = Assert.IsAssignableFrom <DisposableTracker>(result);

            Assert.Equal(expectedBuilder, tracker.Builder);
        }
Exemple #12
0
        public void DisposeClearsTrackers()
        {
            // Arrange
            var sut = new DisposableTrackingBehavior();

            sut.Transform(new DelegatingSpecimenBuilder());
            sut.Transform(new DelegatingSpecimenBuilder());
            sut.Transform(new DelegatingSpecimenBuilder());
            // Act
            sut.Dispose();
            // Assert
            Assert.Empty(sut.Trackers);
        }
Exemple #13
0
        public void TransformReturnsCorrectResult()
        {
            // Fixture setup
            var sut             = new DisposableTrackingBehavior();
            var expectedBuilder = new DelegatingSpecimenBuilder();
            // Exercise system
            var result = sut.Transform(expectedBuilder);
            // Verify outcome
            var tracker = Assert.IsAssignableFrom <DisposableTracker>(result);

            Assert.Equal(expectedBuilder, tracker.Builder);
            // Teardown
        }
Exemple #14
0
        public void DisposeClearsTrackers()
        {
            // Fixture setup
            var sut = new DisposableTrackingBehavior();

            sut.Transform(new DelegatingSpecimenBuilder());
            sut.Transform(new DelegatingSpecimenBuilder());
            sut.Transform(new DelegatingSpecimenBuilder());
            // Exercise system
            sut.Dispose();
            // Verify outcome
            Assert.Empty(sut.Trackers);
            // Teardown
        }
Exemple #15
0
        public void DisposeBehaviorDisposesSpecimen()
        {
            // Arrange
            var behavior = new DisposableTrackingBehavior();
            var fixture  = new Fixture();

            fixture.Behaviors.Add(behavior);

            var disp = fixture.Create <DisposableSpy>();

            // Act
            behavior.Dispose();
            // Assert
            Assert.True(disp.Disposed);
        }
Exemple #16
0
        public void TransformAddsItemsToTrackers()
        {
            // Arrange
            var sut = new DisposableTrackingBehavior();
            // Act
            var trackers = new[]
            {
                sut.Transform(new DelegatingSpecimenBuilder()),
                sut.Transform(new DelegatingSpecimenBuilder()),
                sut.Transform(new DelegatingSpecimenBuilder())
            };

            // Assert
            Assert.True(trackers.All(sb => sut.Trackers.Any(dt => sb == dt)));
        }
Exemple #17
0
        public void TransformAddsItemsToTrackers()
        {
            // Fixture setup
            var sut = new DisposableTrackingBehavior();
            // Exercise system
            var trackers = new[]
            {
                sut.Transform(new DelegatingSpecimenBuilder()),
                sut.Transform(new DelegatingSpecimenBuilder()),
                sut.Transform(new DelegatingSpecimenBuilder())
            };

            // Verify outcome
            Assert.True(trackers.All(sb => sut.Trackers.Any(dt => sb == dt)));
            // Teardown
        }
Exemple #18
0
        public void DisposeBehaviorDisposesSpecimen()
        {
            // Fixture setup
            var behavior = new DisposableTrackingBehavior();
            var fixture  = new Fixture();

            fixture.Behaviors.Add(behavior);

            var disp = fixture.Create <DisposableSpy>();

            // Exercise system
            behavior.Dispose();
            // Verify outcome
            Assert.True(disp.Disposed);
            // Teardown
        }
Exemple #19
0
        public void DisposeDisposesTrackers()
        {
            // Arrange
            var sut     = new DisposableTrackingBehavior();
            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new DisposableSpy()
            };
            var trackers = new[]
            {
                (DisposableTracker)sut.Transform(builder),
                (DisposableTracker)sut.Transform(builder),
                (DisposableTracker)sut.Transform(builder)
            };

            trackers.ToList().ForEach(dt => Enumerable.Repeat(new object(), 3).Select(r => dt.Create(r, new DelegatingSpecimenContext())).ToList());
            // Act
            sut.Dispose();
            // Assert
            Assert.True((from dt in trackers
                         from d in dt.Disposables
                         select d).Cast <DisposableSpy>().All(ds => ds.Disposed));
        }
Exemple #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DisposableTrackingCustomization"/> class.
 /// </summary>
 public DisposableTrackingCustomization()
 {
     this.behavior = new DisposableTrackingBehavior();
 }