Ejemplo n.º 1
0
        public void TestFromString()
        {
            //---------------Set up test pack-------------------
            //---------------Assert PreConditions---------------
            //---------------Execute Test ----------------------
            IOrderCriteria orderCriteria = OrderCriteria.FromString("TestProp");

            //---------------Test Result -----------------------
            Assert.AreEqual(1, orderCriteria.Fields.Count);
            IOrderCriteriaField orderCriteriaField = orderCriteria.Fields[0];

            Assert.AreEqual("TestProp", orderCriteriaField.PropertyName);
            Assert.IsNull(orderCriteriaField.Source);
            Assert.AreEqual(SortDirection.Ascending, orderCriteriaField.SortDirection);
            //---------------Tear Down -------------------------
        }
Ejemplo n.º 2
0
        public void TestCreateOrderCriteria()
        {
            //---------------Set up test pack-------------------
            MyBO.LoadDefaultClassDefWithDifferentTableAndFieldNames();
            IClassDef classdef = ClassDef.ClassDefs[typeof(MyBO)];
            //---------------Execute Test ----------------------
            IOrderCriteria orderCriteria = QueryBuilder.CreateOrderCriteria(classdef, "TestProp");
            //---------------Test Result -----------------------
            IOrderCriteriaField orderCriteriaField = orderCriteria.Fields[0];

            Assert.AreEqual(classdef.ClassName, orderCriteriaField.Source.Name);
            Assert.AreEqual(classdef.GetTableName(), orderCriteriaField.Source.EntityName);
            Assert.AreEqual(classdef.GetPropDef("TestProp").DatabaseFieldName, orderCriteriaField.FieldName);
            Assert.AreEqual(0, orderCriteriaField.Source.Joins.Count);
            //---------------Tear Down -------------------------
        }
Ejemplo n.º 3
0
        public void TestCreateOrderCriteria_ThroughRelationship_TwoLevels()
        {
            //---------------Set up test pack-------------------
            IClassDef    engineClassDef = Engine.LoadClassDef_IncludingCarAndOwner();
            const string orderByString  = "Car.Owner.Surname";

            //---------------Execute Test ----------------------
            IOrderCriteria orderCriteria = QueryBuilder.CreateOrderCriteria(engineClassDef, orderByString);
            //---------------Test Result -----------------------
            IOrderCriteriaField orderCriteriaField = orderCriteria.Fields[0];

            Assert.AreEqual("Surname", orderCriteriaField.PropertyName);
            Assert.AreEqual("Surname_field", orderCriteriaField.FieldName);
            Assert.AreEqual(1, orderCriteriaField.Source.Joins.Count);
            Assert.AreEqual("Engine.Car.Owner", orderCriteriaField.Source.ToString());
            //---------------Tear Down -------------------------
        }
        public void TestSortAttribute()
        {
            //---------------Set up test pack-------------------
            BusinessObjectLookupList source = new BusinessObjectLookupList(typeof(ContactPersonTestBO));

            //---------------Assert Precondition----------------
            Assert.IsNull(source.OrderCriteria);
            //---------------Execute Test ----------------------
            source = new BusinessObjectLookupList("Habanero.Test.BO",
                                                  "ContactPersonTestBO", "", "surname");
            //---------------Test Result -----------------------
            Assert.AreEqual(1, source.OrderCriteria.Fields.Count);
            IOrderCriteriaField orderOrderCriteriaField = source.OrderCriteria.Fields[0];

            Assert.AreEqual("surname", orderOrderCriteriaField.PropertyName);
            Assert.AreEqual(SortDirection.Ascending, orderOrderCriteriaField.SortDirection);
            Assert.AreEqual("ContactPersonTestBO", orderOrderCriteriaField.Source.Name);
        }
Ejemplo n.º 5
0
        public void TestCreateOrderCriteria_ThroughRelationship()
        {
            //---------------Set up test pack-------------------
            IClassDef myRelatedBoClassDef = MyRelatedBo.LoadClassDefWithDifferentTableAndFieldNames();
            IClassDef myBoClassdef        = MyBO.LoadClassDefWithRelationship();

            //---------------Execute Test ----------------------
            IOrderCriteria orderCriteria = QueryBuilder.CreateOrderCriteria(myBoClassdef, "MyRelationship.MyRelatedTestProp");
            //---------------Test Result -----------------------
            IOrderCriteriaField orderCriteriaField = orderCriteria.Fields[0];

            Assert.AreEqual(myRelatedBoClassDef.GetPropDef("MyRelatedTestProp").DatabaseFieldName, orderCriteriaField.FieldName);
            Assert.AreEqual(myBoClassdef.ClassName, orderCriteriaField.Source.Name);
            Assert.AreEqual(myBoClassdef.GetTableName(), orderCriteriaField.Source.EntityName);
            Assert.AreEqual(1, orderCriteriaField.Source.Joins.Count);
            Source.Join relJoin = orderCriteriaField.Source.Joins[0];
            Assert.AreEqual("MyRelationship", relJoin.ToSource.Name);
            Assert.AreEqual(myRelatedBoClassDef.GetTableName(), relJoin.ToSource.EntityName);
            Assert.AreEqual(1, relJoin.JoinFields.Count);
            Assert.AreEqual("RelatedID", relJoin.JoinFields[0].FromField.PropertyName);
            Assert.AreEqual("MyRelatedBoID", relJoin.JoinFields[0].ToField.PropertyName);
            //---------------Tear Down -------------------------
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Adds a field to the fields to be sorted on.
 /// </summary>
 /// <param name="orderCriteriaField">The <see cref="OrderCriteriaField"/> to add to the OrderCriteria's field collection</param>
 /// <returns>This OrderCriteria, to allow chaining of adds</returns>
 public IOrderCriteria Add(IOrderCriteriaField orderCriteriaField)
 {
     _fields.Add(orderCriteriaField);
     return(this);
 }