public virtual IList <TermResult> GetBooksTermResults(List <string> bookGuidList, TermCriteriaQueryCreator queryCreator) { using (var session = GetSession()) { Book bookAlias = null; BookVersion bookVersionAlias = null; BookPage bookPageAlias = null; Term termAlias = null; TermResult termResultAlias = null; var result = session.QueryOver(() => bookAlias) .JoinQueryOver(x => x.LastVersion, () => bookVersionAlias) .JoinQueryOver(x => x.BookPages, () => bookPageAlias) .JoinQueryOver(x => x.Terms, () => termAlias) .SelectList(list => list .Select(() => bookAlias.Id).WithAlias(() => termResultAlias.BookId) .Select(() => bookPageAlias.Text).WithAlias(() => termResultAlias.PageName) .Select(() => bookPageAlias.XmlId).WithAlias(() => termResultAlias.PageXmlId)) .OrderBy(() => bookAlias.Id).Asc .OrderBy(() => bookPageAlias.Position).Asc .WhereRestrictionOn(() => bookAlias.Guid).IsInG(bookGuidList) .And(queryCreator.GetCondition()) .TransformUsing(Transformers.AliasToBean <TermResult>()) .List <TermResult>(); return(result); } }
public void DiceTerm_CalculateResultsTest() { // setup test IExpressionTerm term = new FudgeDiceTerm(1); // run test IReadOnlyList <TermResult> results = term.CalculateResults(roller); // validate results Assert.IsNotNull(results); Assert.AreEqual(1, results.Count); TermResult r = results.FirstOrDefault(); Assert.IsNotNull(r); Assert.AreEqual(1, r.Scalar); AssertHelpers.IsWithinRangeInclusive(-1, 1, r.Value); Assert.AreEqual("FudgeDiceTerm.dF", r.Type); }
public void ConstantTerm_CalculateResultsNullDieRollerTest() { // setup test IExpressionTerm term = new ConstantTerm(8); // run test IReadOnlyList <TermResult> results = term.CalculateResults(null); // validate results Assert.IsNotNull(results); Assert.AreEqual(1, results.Count); TermResult r = results.FirstOrDefault(); Assert.IsNotNull(r); Assert.AreEqual(1, r.Scalar); Assert.AreEqual(8, r.Value); Assert.AreEqual("ConstantTerm", r.Type); }