Esempio n. 1
0
		public void TestSortBys()
		{
			var values = new int[] { 3, 20, 100 };
			using(var store = NewDocumentStore())
			{
				using (var session = store.OpenSession())
				{
					foreach (var value in values)
					{
						var blog = new TestBlog { Title = "Test" + value, Weighting = value, Posts = new TestPost[value] };
						session.Store(blog);
					}
					session.SaveChanges();
				}
				using (var session = store.OpenSession())
				{
					var blogsInWeightingOrder = session.Query<TestBlog>()
						.Customize(x=>x.WaitForNonStaleResults())
						.OrderBy(b => b.Weighting).ToList();
					var blogsInPostsCountOrder = session.Query<TestBlog>()
						.Customize(x => x.WaitForNonStaleResults())
						.OrderBy(b => b.Posts.Count).ToList();
					for (int i = 0; i < values.Length; i++)
					{
						Assert.Equal(values[i], blogsInWeightingOrder[i].Weighting); // pass: in numeric order 3, 20, 100
						Assert.Equal(values[i], blogsInPostsCountOrder[i].Posts.Count); // fail: in lexicographic order 100, 20, 3
					}
				}
			}
		}
Esempio n. 2
0
        public void TestSortBys()
        {
            var values = new int[] { 3, 20, 100 };

            using (var store = NewDocumentStore())
            {
                using (var session = store.OpenSession())
                {
                    foreach (var value in values)
                    {
                        var blog = new TestBlog {
                            Title = "Test" + value, Weighting = value, Posts = new TestPost[value]
                        };
                        session.Store(blog);
                    }
                    session.SaveChanges();
                }
                using (var session = store.OpenSession())
                {
                    var blogsInWeightingOrder = session.Query <TestBlog>()
                                                .Customize(x => x.WaitForNonStaleResults())
                                                .OrderBy(b => b.Weighting).ToList();
                    var blogsInPostsCountOrder = session.Query <TestBlog>()
                                                 .Customize(x => x.WaitForNonStaleResults())
                                                 .OrderBy(b => b.Posts.Count).ToList();
                    for (int i = 0; i < values.Length; i++)
                    {
                        Assert.Equal(values[i], blogsInWeightingOrder[i].Weighting);                         // pass: in numeric order 3, 20, 100
                        Assert.Equal(values[i], blogsInPostsCountOrder[i].Posts.Count);                      // fail: in lexicographic order 100, 20, 3
                    }
                }
            }
        }