public void Show()
        {
            // DBのモックを用意する
            var mockset = new Mock<DbSet<BoardEntity>>();
            var mockcontext = new Mock<BoardDbContext>();

            // 掲示板の情報
            var postOriginalData = new List<BoardPostEntity> {
                new BoardPostEntity { Text = "投稿1" },
                new BoardPostEntity { Text = "投稿2" }
            };

            // レスの情報
            var originalData = new List<BoardEntity> {
                new BoardEntity { Id = 1, Title = "A", Text = "a", Posts = postOriginalData },
            };
            var data = originalData.AsQueryable();

            // 各メソッドの返り値をモックに差し替える
            mockset.As<IQueryable<BoardEntity>>().Setup( m => m.Provider ).Returns( data.Provider );
            mockset.As<IQueryable<BoardEntity>>().Setup( m => m.Expression ).Returns( data.Expression );
            mockset.As<IQueryable<BoardEntity>>().Setup( m => m.ElementType ).Returns( data.ElementType );
            mockset.As<IQueryable<BoardEntity>>().Setup( m => m.GetEnumerator() ).Returns( data.GetEnumerator() );

            mockcontext.Setup( m => m.Boards ).Returns( mockset.Object );

            var controller = new BoardController( mockcontext.Object );
            ViewResult result = controller.Show( 1 ) as ViewResult;

            //  モデルのデータがちゃんとDBのデータを取得出来ているか検証
            var model = result.Model as BoardEntity;
            Assert.AreSame( originalData[0], model );
            Assert.AreSame( postOriginalData[0], model.Posts.ToArray()[0] );
            Assert.AreSame( postOriginalData[1], model.Posts.ToArray()[1] );

            Assert.IsNotNull( result );
        }