Exemplo n.º 1
0
 public void SutIsCommerceServiceContainer(PooledContainer sut)
 {
     // Fixture setup
     // Exercise system
     // Verify outcome
     Assert.IsAssignableFrom <ICommerceServiceContainer>(sut);
     // Teardown
 }
Exemplo n.º 2
0
 public void ResolveOverMaxSizeWillThrow(PooledContainer sut)
 {
     // Fixture setup
     sut.MaxSize = 1;
     sut.ResolveProductManagementService();
     // Exercise system and verify outcome
     Assert.Throws <InvalidOperationException>(() => sut.ResolveProductManagementService());
     // Teardown
 }
Exemplo n.º 3
0
        public void ResolveWillReturnCorrectType(PooledContainer sut)
        {
            // Fixture setup
            // Exercise system
            var result = sut.ResolveProductManagementService();

            // Verify outcome
            Assert.IsAssignableFrom <ProductManagementService>(result);
            // Teardown
        }
Exemplo n.º 4
0
        public void ResolveWillReturnResultWithCorrectRepository(PooledContainer sut)
        {
            // Fixture setup
            // Exercise system
            var result = sut.ResolveProductManagementService();
            // Verify outcome
            var actual = Assert.IsAssignableFrom <ProductManagementService>(result);

            Assert.IsAssignableFrom <XferProductRepository>(actual.Repository);
            // Teardown
        }
Exemplo n.º 5
0
        public void ResolveTwiceWillReturnDifferentInstances(PooledContainer sut)
        {
            // Fixture setup
            sut.MaxSize = 10;
            var unexpected = sut.ResolveProductManagementService();
            // Exercise system
            var result = sut.ResolveProductManagementService();

            // Verify outcome
            Assert.NotSame(unexpected, result);
            // Teardown
        }
Exemplo n.º 6
0
        public void ResolvingServicesAndReleasingItAndThenResolvingTwiceShouldThrow(PooledContainer sut)
        {
            // Fixture setup
            sut.MaxSize = 1;

            var s = sut.ResolveProductManagementService();

            sut.Release(s);
            sut.ResolveProductManagementService();
            // Exercise system and verify outcome
            Assert.Throws <InvalidOperationException>(() => sut.ResolveProductManagementService());
            // Teardown
        }
Exemplo n.º 7
0
        public void ResolveTwiceWillReturnResultsWithDifferentRepositories(PooledContainer sut)
        {
            // Fixture setup
            sut.MaxSize = 2;
            var other = sut.ResolveProductManagementService();
            // Exercise system
            var result = sut.ResolveProductManagementService();
            // Verify outcome
            var srvc1 = Assert.IsAssignableFrom <ProductManagementService>(other);
            var srvc2 = Assert.IsAssignableFrom <ProductManagementService>(result);

            Assert.NotSame(srvc1.Repository, srvc2.Repository);
            // Teardown
        }
Exemplo n.º 8
0
        public void RepeatedlyResolvingAndRemovingMustBePossible(PooledContainer sut)
        {
            // Fixture setup
            sut.MaxSize = 1;

            // Exercise system
            Assert.DoesNotThrow(() =>
            {
                sut.Release(sut.ResolveProductManagementService());
                sut.Release(sut.ResolveProductManagementService());
                sut.Release(sut.ResolveProductManagementService());
            });
            // Verify outcome
            // Teardown
        }