public void SutIsLifecycle()
 {
     // Fixture setup
     var dummyLease = new Mock<ILease>().Object;
     // Exercise system
     var sut = new CacheLifecycle(dummyLease);
     // Verify outcome
     Assert.IsAssignableFrom<ILifecycle>(sut);
     // Teardown
 }
Пример #2
0
        public void SutIsLifecycle()
        {
            // Fixture setup
            var dummyLease = new Mock <ILease>().Object;
            // Exercise system
            var sut = new CacheLifecycle(dummyLease);

            // Verify outcome
            Assert.IsAssignableFrom <ILifecycle>(sut);
            // Teardown
        }
 public void ScopeIsCorrect()
 {
     // Fixture setup
     var dummyLease = new Mock<ILease>().Object;
     var sut = new CacheLifecycle(dummyLease);
     // Exercise system
     var result = sut.Scope;
     // Verify outcome
     Assert.Equal("Cache", result);
     // Teardown
 }
 public void LeaseIsCorrect()
 {
     // Fixture setup
     var expectedLease = new Mock<ILease>().Object;
     var sut = new CacheLifecycle(expectedLease);
     // Exercise system
     ILease result = sut.Lease;
     // Verify outcome
     Assert.Equal(expectedLease, result);
     // Teardown
 }
Пример #5
0
        public void ScopeIsCorrect()
        {
            // Fixture setup
            var dummyLease = new Mock <ILease>().Object;
            var sut        = new CacheLifecycle(dummyLease);
            // Exercise system
            var result = sut.Scope;

            // Verify outcome
            Assert.Equal("Cache", result);
            // Teardown
        }
Пример #6
0
        public void LeaseIsCorrect()
        {
            // Fixture setup
            var expectedLease = new Mock <ILease>().Object;
            var sut           = new CacheLifecycle(expectedLease);
            // Exercise system
            ILease result = sut.Lease;

            // Verify outcome
            Assert.Equal(expectedLease, result);
            // Teardown
        }
 public void FindCacheReturnsSameResultEveryTime()
 {
     // Fixture setup
     var dummyLease = new Mock<ILease>().Object;
     var sut = new CacheLifecycle(dummyLease);
     var expectedCache = sut.FindCache();
     // Exercise system
     var result = sut.FindCache();
     // Verify outcome
     Assert.Same(expectedCache, result);
     // Teardown
 }
 public void FindCacheReturnsCorrectResult()
 {
     // Fixture setup
     var expectedLease = new Mock<ILease>().Object;
     var sut = new CacheLifecycle(expectedLease);
     // Exercise system
     var result = sut.FindCache();
     // Verify outcome
     var cache = Assert.IsAssignableFrom<LeasedObjectCache>(result);
     Assert.Equal(expectedLease, cache.Lease);
     // Teardown
 }
Пример #9
0
        public void FindCacheReturnsSameResultEveryTime()
        {
            // Fixture setup
            var dummyLease    = new Mock <ILease>().Object;
            var sut           = new CacheLifecycle(dummyLease);
            var expectedCache = sut.FindCache();
            // Exercise system
            var result = sut.FindCache();

            // Verify outcome
            Assert.Same(expectedCache, result);
            // Teardown
        }
Пример #10
0
        public void FindCacheReturnsCorrectResult()
        {
            // Fixture setup
            var expectedLease = new Mock <ILease>().Object;
            var sut           = new CacheLifecycle(expectedLease);
            // Exercise system
            var result = sut.FindCache();
            // Verify outcome
            var cache = Assert.IsAssignableFrom <LeasedObjectCache>(result);

            Assert.Equal(expectedLease, cache.Lease);
            // Teardown
        }
Пример #11
0
        public void UsingCachingIngredientWithLongTimeout()
        {
            var container = new Container();

            var lease = new SlidingLease(TimeSpan.FromMinutes(1));
            var cache = new CacheLifecycle(lease);

            container.Configure(r => r
                                .For <IIngredient>()
                                .LifecycleIs(cache)
                                .Use <SauceBéarnaise>());

            var ingredient1 = container.GetInstance <IIngredient>();
            var ingredient2 = container.GetInstance <IIngredient>();

            Assert.Same(ingredient1, ingredient2);
        }
Пример #12
0
        public void UsingCachingIngredientWithShortTimeout()
        {
            var lease     = new SlidingLease(TimeSpan.FromTicks(1));
            var lifecycle = new CacheLifecycle(lease);

            var container = new Container();

            container.Configure(r => r
                                .For <IIngredient>()
                                .LifecycleIs(lifecycle)
                                .Use <SauceBéarnaise>());

            var ingredient1 = container.GetInstance <IIngredient>();

            Thread.Sleep(TimeSpan.FromMilliseconds(1));
            var ingredient2 = container.GetInstance <IIngredient>();

            Assert.NotSame(ingredient1, ingredient2);
        }
Пример #13
0
        public void ReuseTheSameCacheForSeveralComponents()
        {
            var container = new Container();

            var lease = new SlidingLease(TimeSpan.FromMinutes(1));
            var cache = new CacheLifecycle(lease);

            container.Configure(r =>
            {
                r.For <IIngredient>().LifecycleIs(cache).Use <Steak>();
                r.For <ICourse>().LifecycleIs(cache).Use <Course>();
            });

            var course1 = container.GetInstance <ICourse>();
            var course2 = container.GetInstance <ICourse>();

            var ingredient1 = Assert.IsAssignableFrom <Course>(course1).Ingredients.Single();
            var ingredient2 = Assert.IsAssignableFrom <Course>(course2).Ingredients.Single();

            Assert.Same(ingredient1, ingredient2);
        }
Пример #14
0
        public void ReuseTheSameCacheForSeveralComponents()
        {
            var container = new Container();

            var lease = new SlidingLease(TimeSpan.FromMinutes(1));
            var cache = new CacheLifecycle(lease);
            container.Configure(r =>
            {
                r.For<IIngredient>().LifecycleIs(cache).Use<Steak>();
                r.For<ICourse>().LifecycleIs(cache).Use<Course>();
            });

            var course1 = container.GetInstance<ICourse>();
            var course2 = container.GetInstance<ICourse>();

            var ingredient1 = Assert.IsAssignableFrom<Course>(course1).Ingredients.Single();
            var ingredient2 = Assert.IsAssignableFrom<Course>(course2).Ingredients.Single();

            Assert.Same(ingredient1, ingredient2);
        }
Пример #15
0
        public void UsingCachingIngredientWithShortTimeout()
        {
            var lease = new SlidingLease(TimeSpan.FromTicks(1));
            var lifecycle = new CacheLifecycle(lease);

            var container = new Container();
            container.Configure(r => r
                .For<IIngredient>()
                .LifecycleIs(lifecycle)
                .Use<SauceBéarnaise>());

            var ingredient1 = container.GetInstance<IIngredient>();
            Thread.Sleep(TimeSpan.FromMilliseconds(1));
            var ingredient2 = container.GetInstance<IIngredient>();

            Assert.NotSame(ingredient1, ingredient2);
        }
Пример #16
0
        public void UsingCachingIngredientWithLongTimeout()
        {
            var container = new Container();

            var lease = new SlidingLease(TimeSpan.FromMinutes(1));
            var cache = new CacheLifecycle(lease);
            container.Configure(r => r
                .For<IIngredient>()
                .LifecycleIs(cache)
                .Use<SauceBéarnaise>());

            var ingredient1 = container.GetInstance<IIngredient>();
            var ingredient2 = container.GetInstance<IIngredient>();

            Assert.Same(ingredient1, ingredient2);
        }