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); }
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 }
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); }
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 }
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)); }