public void TwoFromsWithMemberAccess () { var expression = FromTestQueryGenerator.CreateFromQueryWithMemberQuerySource (IndustrialSectorQuerySource).Expression; var queryModel = QueryParser.GetParsedQuery (expression); var mainFromClause = queryModel.MainFromClause; CheckConstantQuerySource (mainFromClause.FromExpression, IndustrialSectorQuerySource); var memberFromClause = (AdditionalFromClause) queryModel.BodyClauses[0]; CheckResolvedExpression<Restaurant, IEnumerable<Cook>> (memberFromClause.FromExpression, mainFromClause, sector => sector.Cooks); var selectClause = queryModel.SelectClause; CheckResolvedExpression<Cook, Cook> (selectClause.Selector, memberFromClause, s1 => s1); }
public void GeneralSelectMany () { var expression = FromTestQueryGenerator.CreateMultiFromQuery (QuerySource, QuerySource).Expression; var queryModel = QueryParser.GetParsedQuery (expression); var mainFromClause = queryModel.MainFromClause; CheckConstantQuerySource (mainFromClause.FromExpression, QuerySource); Assert.That (mainFromClause.ItemName, Is.EqualTo ("s1")); Assert.That (mainFromClause.ItemType, Is.SameAs (typeof (Cook))); Assert.That (queryModel.BodyClauses[0], Is.InstanceOf (typeof (AdditionalFromClause))); var additionalFromClause = (AdditionalFromClause) queryModel.BodyClauses[0]; Assert.That (additionalFromClause.ItemName, Is.EqualTo ("s2")); CheckConstantQuerySource (additionalFromClause.FromExpression, QuerySource); var selectClause = queryModel.SelectClause; CheckResolvedExpression<Cook, Cook> (selectClause.Selector, queryModel.MainFromClause, s1 => s1); }