public void retrieves_query_plan_with_where_and_all_options_enabled() { var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 6, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user1, user2); theSession.SaveChanges(); var plan = theSession.Query <SimpleUser>().Where(u => u.Number > 5) .OrderBy(x => x.Number) .Explain(c => { c .Analyze() .Buffers() .Costs() .Timing() .Verbose(); }); SpecificationExtensions.ShouldNotBeNull(plan); SpecificationExtensions.ShouldBeGreaterThan(plan.ActualTotalTime, 0m); SpecificationExtensions.ShouldBeGreaterThan(plan.PlanningTime, 0m); SpecificationExtensions.ShouldBeGreaterThan(plan.ExecutionTime, 0m); plan.SortKey.ShouldContain("(((d.data ->> 'Number'::text))::integer)"); plan.Plans.ShouldNotBeEmpty(); }
public void single_returns_first_and_only() { var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user1); theSession.SaveChanges(); var userJson = theSession.Query <SimpleUser>().AsJson().Single(); userJson.ShouldBeSemanticallySameJsonAs($@"{user1.ToJson()}"); }
public async Task single_or_default_returns_first_line_async() { var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user1); theSession.SaveChanges(); var userJson = await theSession.Query <SimpleUser>().AsJson().SingleOrDefaultAsync(); userJson.ShouldBeSemanticallySameJsonAs($@"{user1.ToJson()}"); }
public async Task single_async_returns_first_and_only() { var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user1); theSession.SaveChanges(); var userJson = await theSession.Query <SimpleUser>().AsJson().SingleAsync().ConfigureAwait(false); userJson.ShouldBe($@"{user1.ToJson()}"); }
public void to_list() { var user0 = new SimpleUser { UserName = "******", Number = 4, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "0", Street = "rue de l'invisible" } }; var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 6, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user0, user1, user2); theSession.SaveChanges(); var listJson = theSession.Query <SimpleUser>().Where(x => x.Number >= 5).ToJsonArray(); listJson.ShouldBe($@"[{user1.ToJson()},{user2.ToJson()}]"); }
public async Task first_or_default_returns_first_line_async() { var user0 = new SimpleUser { UserName = "******", Number = 4, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "0", Street = "rue de l'invisible" } }; var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user0, user1, user2); theSession.SaveChanges(); var userJson = await theSession.Query <SimpleUser>().AsJson().FirstOrDefaultAsync().ConfigureAwait(false); userJson.ShouldBe($@"{user0.ToJson()}"); }
public void first_or_default_returns_first() { var user0 = new SimpleUser { UserName = "******", Number = 4, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "0", Street = "rue de l'invisible" } }; var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user0, user1, user2); theSession.SaveChanges(); var userJson = theSession.Query <SimpleUser>().Where(x => x.Number == 5).AsJson().FirstOrDefault(); userJson.ShouldBe($@"{user1.ToJson()}"); }
public async Task to_list_async() { var user0 = new SimpleUser { UserName = "******", Number = 4, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "0", Street = "rue de l'invisible" } }; var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 6, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user0, user1, user2); theSession.SaveChanges(); var listJson = await theSession.Query <SimpleUser>().Where(x => x.Number >= 5).ToJsonArrayAsync().ConfigureAwait(false); listJson.ShouldBeSemanticallySameJsonAs($@"[{user1.ToJson()},{user2.ToJson()}]"); }
public async Task first_async_returns_first() { var user0 = new SimpleUser { UserName = "******", Number = 4, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "0", Street = "rue de l'invisible" } }; var user1 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1986, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; var user2 = new SimpleUser { UserName = "******", Number = 5, Birthdate = new DateTime(1987, 10, 4), Address = new Address { HouseNumber = "12bis", Street = "rue de la martre" } }; theSession.Store(user0, user1, user2); await theSession.SaveChangesAsync(); var userJson = await theSession.Query <SimpleUser>().Where(x => x.Number == 5).AsJson().FirstAsync(); userJson.ShouldBeSemanticallySameJsonAs($@"{user1.ToJson()}"); }