예제 #1
0
        public void SortPosts_PostAccumulatedPosts_UsesStableSortAlgorithm()
        {
            CollectPosts collectPosts = new CollectPosts();
            SortPosts    sortPosts    = new SortPosts(collectPosts, "date", new Report());

            sortPosts.Posts.Add(new Post()
            {
                Date = new Date(2010, 8, 5), Note = "1"
            });
            sortPosts.Posts.Add(new Post()
            {
                Date = new Date(2010, 5, 5), Note = "2"
            });
            sortPosts.Posts.Add(new Post()
            {
                Date = new Date(2010, 5, 5), Note = "3"
            });
            sortPosts.Posts.Add(new Post()
            {
                Date = new Date(2010, 3, 5), Note = "4"
            });

            sortPosts.PostAccumulatedPosts();

            Assert.Equal("4", collectPosts.Posts[0].Note);
            Assert.Equal("2", collectPosts.Posts[1].Note);   // Posts with equal key keep original order (2, 3)
            Assert.Equal("3", collectPosts.Posts[2].Note);
            Assert.Equal("1", collectPosts.Posts[3].Note);
        }
예제 #2
0
        public void SortPosts_PostAccumulatedPosts_CallsBaseHandler()
        {
            CollectPosts  collectPosts = new CollectPosts();
            TestSortPosts sortPosts    = new TestSortPosts(collectPosts, "date", new Report());

            sortPosts.Posts.Add(new Post()
            {
                Date = new Date(2010, 8, 5), Note = "1"
            });

            sortPosts.PostAccumulatedPosts();  // No exception expected; Handle is not called
        }