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 ------------------------- }
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 ------------------------- }
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); }
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 ------------------------- }
/// <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); }