public void RepeatWillReturnTheDefaultNumberOfItems()
 {
     // Fixture setup
     IFixture sut = new Fixture();
     int expectedCount = sut.RepeatCount;
     // Exercise system
     IEnumerable<object> result = sut.Repeat(() => new object());
     // Verify outcome
     Assert.Equal<int>(expectedCount, result.Count());
     // Teardown
 }
 public void RepeatWillPerformActionTheDefaultNumberOfTimes()
 {
     // Fixture setup
     IFixture sut = new Fixture();
     int expectedCount = sut.RepeatCount;
     // Exercise system
     int result = 0;
     sut.Repeat(() => result++).ToList();
     // Verify outcome
     Assert.Equal<int>(expectedCount, result);
     // Teardown
 }
        public void ResolveAfterReleaseWillReturnResultWithRepositoryFromPool()
        {
            // Fixture setup
            var fixture = new Fixture();
            var sut = fixture.CreateAnonymous<PooledContainer>();
            sut.MaxSize = fixture.RepeatCount;

            var services = fixture.Repeat(() => sut.ResolveProductManagementService()).ToList();
            var observedRepositories = from s in services
                                       select ((ProductManagementService)s).Repository;
            services.ForEach(sut.Release);
            // Exercise system
            var result = sut.ResolveProductManagementService();
            // Verify outcome
            var actual = Assert.IsAssignableFrom<ProductManagementService>(result);
            Assert.Contains(actual.Repository, observedRepositories);
            // Teardown
        }