public void WhereWHere_EquivalentToWhereAnd() { var qt = new QueryTranslator(); var query = Mock.Of<IOrganizationService>().CreateBetterQueryable<SystemUser>(); var queryExpresion = qt.Translate(query.Where(x => x.FirstName == "hello" && "2" != x.LastName).Expression); var queryExpresion2 = qt.Translate(query.Where(x => x.FirstName == "hello").Where(x => "2" != x.LastName).Expression); foreach (var qe in new[] { queryExpresion, queryExpresion2 }) { Assert.That(queryExpresion.EntityName, Is.EqualTo("systemuser")); Assert.That(queryExpresion.Criteria.Conditions, Is.Not.Empty); Assert.That(queryExpresion.Criteria.Conditions.Count, Is.EqualTo(2)); Assert.That(queryExpresion.Criteria.FilterOperator, Is.EqualTo(LogicalOperator.And)); Assert.That(queryExpresion.Criteria.Conditions[0].AttributeName, Is.EqualTo("firstname")); Assert.That(queryExpresion.Criteria.Conditions[0].Operator, Is.EqualTo(ConditionOperator.Equal)); Assert.That(queryExpresion.Criteria.Conditions[0].Values, Is.EquivalentTo(new object[] { "hello" })); Assert.That(queryExpresion.Criteria.Conditions[1].AttributeName, Is.EqualTo("lastname")); Assert.That(queryExpresion.Criteria.Conditions[1].Operator, Is.EqualTo(ConditionOperator.NotEqual)); Assert.That(queryExpresion.Criteria.Conditions[1].Values, Is.EquivalentTo(new object[] { "2" })); } }
public void TranslatorTranslatesRootQueryable() { var qt = new QueryTranslator(); var query = Mock.Of<IOrganizationService>().CreateBetterQueryable<SystemUser>(); var queryExpresion = qt.Translate(query.Expression); Assert.That(queryExpresion, Is.Not.Null); Assert.That(queryExpresion.EntityName, Is.EqualTo("systemuser")); }
public void Where_SingleClause_RHS() { var qt = new QueryTranslator(); var query = Mock.Of<IOrganizationService>() .CreateBetterQueryable<SystemUser>() .Where(x => x.FirstName == "hello"); var queryExpresion = qt.Translate(query.Expression); Assert.That(queryExpresion.EntityName, Is.EqualTo("systemuser")); Assert.That(queryExpresion.Criteria.Conditions, Is.Not.Empty); Assert.That(queryExpresion.Criteria.Conditions.Count, Is.EqualTo(1)); Assert.That(queryExpresion.Criteria.Conditions[0].AttributeName, Is.EqualTo("firstname")); Assert.That(queryExpresion.Criteria.Conditions[0].Operator, Is.EqualTo(ConditionOperator.Equal)); Assert.That(queryExpresion.Criteria.Conditions[0].Values, Is.EquivalentTo(new object[] { "hello" })); }