public void Initialize_CalledTwice_ContainerAlreadyInitializedException()
        {
            // arrange
            var mockKernel = new Mock<IKernel>();

            using (var factory = new DefaultBlogFactory())
            {
                factory.Initialize(mockKernel.Object);

                // act
                factory.Initialize(mockKernel.Object);
            }
        }
        public void Create_Void_IBloglisting()
        {
            // arrange
            var mockKernel = new Mock<IKernel>();
            var factory = new DefaultBlogFactory();
            factory.Initialize(mockKernel.Object);
            var mockBlog = new Mock<IBlogListing>();
            mockKernel.Setup(x => x.Resolve<IBlogListing>()).Returns(mockBlog.Object);

            // act.
            var result = factory.Create<IBlogListing>();

            // assert.
            Assert.IsNotNull(result);


        }
        public void Initialize_NullKernel_ArgumentNullException()
        {
            // arrange
            var factory = new DefaultBlogFactory();

            try
            {
                // act         
                factory.Initialize(null);
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("kernel", ex.ParamName);
                throw;
            }


        }