public void TestGetCriteriaByPathUsingAlias()
        {
            Person           personAlias = null;
            Person           fatherAlias = null;
            DetachedCriteria criteria    =
                DetachedCriteria <Person> .Create(() => personAlias)
                .CreateCriteria(() => personAlias.Father, () => fatherAlias);

            Assert.AreEqual("fatherAlias", criteria.GetCriteriaByPath(() => personAlias.Father).Alias);
        }
        public void Test_CreateWithAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias");

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias);

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestNotUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Not(Restrictions.Gt("personAlias.Age", 5)));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.Not(() => personAlias.Age > 5));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestGenericInUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.InG <int>("personAlias.Age", new int[] { 1, 2, 3 }));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.InG <int>(() => personAlias.Age, new int[] { 1, 2, 3 }));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void Test_BetweenUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Between("personAlias.Age", 5, 10));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.Between(() => personAlias.Age, 5, 10));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestInUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.In("personAlias.Name", new string[] { "name1", "name2", "name3" }));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.In(() => personAlias.Name, new string[] { "name1", "name2", "name3" }));

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 7
0
        public void TestCountDistinctUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .SetProjection(Projections.CountDistinct("personAlias.Age"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .SetProjection(LambdaProjection.CountDistinct(() => personAlias.Age));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestAddWithAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Eq("personAlias.Name", "test name"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(() => personAlias.Name == "test name");

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestOrderUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .AddOrder(Order.Desc("personAlias.Name"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .AddOrder(() => personAlias.Name, Order.Desc);

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 10
0
        public void TestIsNullUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.IsNull("personAlias.Name"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.IsNull(() => personAlias.Name));

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 11
0
        public void Test_AliasedProperty()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .SetProjection(Projections.Property("personAlias.Age"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .SetProjection(LambdaProjection.Property(() => personAlias.Age));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestCreateAliasFromAliasWithJoinType()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .CreateAlias("personAlias.Father", "fatherAlias", JoinType.LeftOuterJoin);

            Person           personAlias = null;
            Person           fatherAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .CreateAlias(() => personAlias.Father, () => fatherAlias, JoinType.LeftOuterJoin);

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestCreateCriteriaAliasAssociationWithJoinType()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .CreateCriteria("personAlias.Children", JoinType.LeftOuterJoin)
                .Add(Restrictions.Eq("Nickname", "test"));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .CreateCriteria(() => personAlias.Children, JoinType.LeftOuterJoin)
                .Add <Child>(c => c.Nickname == "test");

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 14
0
        public void TestLikeUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Like("personAlias.Name", "%test%"))
                .Add(Restrictions.Like("personAlias.Name", "test", MatchMode.Anywhere))
                .Add(Restrictions.Like("personAlias.Name", "test", MatchMode.Anywhere, '?'));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.Like(() => personAlias.Name, "%test%"))
                .Add(SqlExpression.Like(() => personAlias.Name, "test", MatchMode.Anywhere))
                .Add(SqlExpression.Like(() => personAlias.Name, "test", MatchMode.Anywhere, '?'));

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 15
0
        public void TestConjunctionUsingAlias()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Conjunction()
                     .Add(Restrictions.Eq("personAlias.Name", "test"))
                     .Add(Restrictions.Gt("personAlias.Age", 5)));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(Restrictions.Conjunction()
                     .Add(() => personAlias.Name == "test")
                     .Add(() => personAlias.Age > 5));

            AssertCriteriaAreEqual(expected, actual);
        }
        public void TestBooleanExpression()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.Eq("IsParent", true))
                .Add(Restrictions.Eq("IsParent", false))
                .Add(Restrictions.Eq("personAlias.IsParent", true))
                .Add(Restrictions.Eq("personAlias.IsParent", false));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add <Person>(p => p.IsParent)
                .Add <Person>(p => !p.IsParent)
                .Add(() => personAlias.IsParent)
                .Add(() => !personAlias.IsParent);

            AssertCriteriaAreEqual(expected, actual);
        }
Exemplo n.º 17
0
        public void TestInsensitiveLike()
        {
            DetachedCriteria expected =
                DetachedCriteria.For <Person>("personAlias")
                .Add(Restrictions.InsensitiveLike("Name", "test"))
                .Add(Restrictions.InsensitiveLike("Name", "tEsT", MatchMode.Anywhere))
                .Add(Restrictions.InsensitiveLike("personAlias.Name", "test"))
                .Add(Restrictions.InsensitiveLike("personAlias.Name", "tEsT", MatchMode.Anywhere));

            Person           personAlias = null;
            DetachedCriteria actual      =
                DetachedCriteria <Person> .Create(() => personAlias)
                .Add(SqlExpression.InsensitiveLike <Person>(p => p.Name, "test"))
                .Add(SqlExpression.InsensitiveLike <Person>(p => p.Name, "tEsT", MatchMode.Anywhere))
                .Add(SqlExpression.InsensitiveLike(() => personAlias.Name, "test"))
                .Add(SqlExpression.InsensitiveLike(() => personAlias.Name, "tEsT", MatchMode.Anywhere));

            AssertCriteriaAreEqual(expected, actual);
        }