public void TestOrderBy() { E.Test t = Assert.Single(Assert.ScriptCalled(_databaseFixture, Query.Select, () => _queryable.ToList().Where(x => x.Id == 1))); Assert.ScriptCalled(_databaseFixture, Query.OrderBy, () => Assert.Collection(_subQueryable.Where(x => x.Test == t).OrderBy(x => x.Second), x => Assert.Equal(10, x.Id), x => Assert.Equal(9, x.Id), x => Assert.Equal(8, x.Id), x => Assert.Equal(7, x.Id), x => Assert.Equal(6, x.Id), x => Assert.Equal(5, x.Id), x => Assert.Equal(4, x.Id), x => Assert.Equal(3, x.Id), x => Assert.Equal(2, x.Id), x => Assert.Equal(1, x.Id))); Assert.ScriptCalled(_databaseFixture, Query.OrderByDescending, () => Assert.Collection(_subQueryable.Where(x => x.Test == t).OrderByDescending(x => x.Second), x => Assert.Equal(1, x.Id), x => Assert.Equal(2, x.Id), x => Assert.Equal(3, x.Id), x => Assert.Equal(4, x.Id), x => Assert.Equal(5, x.Id), x => Assert.Equal(6, x.Id), x => Assert.Equal(7, x.Id), x => Assert.Equal(8, x.Id), x => Assert.Equal(9, x.Id), x => Assert.Equal(10, x.Id))); }
public void TestForeignObjectExpression(Query query, Func <IQueryable <E.SubTest>, E.Test, IQueryable <E.SubTest> > function, string queryPattern, IEnumerable <object[]> values) { _output.WriteLine($"Test {query} expression"); E.Test t = Assert.Single(Assert.ScriptCalled(_databaseFixture, Query.Select, () => _queryable.ToList().Where(x => x.Id == 1))); List <E.SubTest> subResult = Assert.ScriptCalled(_databaseFixture, query, () => function(_subQueryable, t).ToList()); Assert.Equal(values.Count(), subResult.Count); _output.WriteLine("... Done"); }
public void TestDeleteSingle() { E.Test entity = Assert.ScriptCalled(_databaseFixture, Query.Select, () => Assert.Single(_queryable.ToList().Where(x => x.Id == 1))); // Quick fix to prevent the test to run in to issue #14 problem, needs to be removed in the future. entity.SubTests.ToList().Select(x => x.Test).ToList(); IQueryable <E.Test> queryable = _databaseFixture.ObjectProvider.GetQueryable <E.Test>().Where(x => x == entity); queryable.Delete(); Assert.ScriptCalled(_databaseFixture, Query.Delete, () => queryable.Save()); }