private string GetOrderByFieldName(OrderCriteriaField orderOrderCriteriaField) { if (Fields.ContainsKey(orderOrderCriteriaField.PropertyName)) { var queryField = Fields[orderOrderCriteriaField.PropertyName]; return(queryField.FieldName); } return(orderOrderCriteriaField.FieldName); }
public void TestField_ToString() { //---------------Set up test pack------------------- string name = "TestProp"; OrderCriteriaField orderCriteriaField = new OrderCriteriaField(name, SortDirection.Descending); //---------------Execute Test ---------------------- string fieldAsString = orderCriteriaField.ToString(); //---------------Test Result ----------------------- Assert.AreEqual(name + " DESC", fieldAsString); //---------------Tear Down ------------------------- }
public void TestField_FromString_ThroughRelationship() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("MyRelationship.TestProp"); //---------------Test Result ----------------------- Assert.AreEqual("TestProp", orderCriteriaField.PropertyName); Assert.AreEqual(new Source("MyRelationship"), orderCriteriaField.Source); //---------------Tear Down ------------------------- }
public void Test_Field_FullName_NoSource() { //---------------Set up test pack------------------- string orderBy = "Surname"; OrderCriteriaField orderCriteriaOrderCriteriaField = OrderCriteriaField.FromString(orderBy + " ASC"); //---------------Execute Test ---------------------- string fullName = orderCriteriaOrderCriteriaField.FullName; //---------------Test Result ----------------------- Assert.AreEqual(orderBy, fullName); //---------------Tear Down ------------------------- }
public void TestAdd_Field() { //---------------Set up test pack------------------- OrderCriteriaField orderCriteriaField = new OrderCriteriaField("TestProp", SortDirection.Descending); //---------------Execute Test ---------------------- IOrderCriteria orderCriteria = new OrderCriteria().Add(orderCriteriaField); //---------------Test Result ----------------------- Assert.AreEqual(1, orderCriteria.Fields.Count); Assert.Contains(orderCriteriaField, orderCriteria.Fields); //---------------Tear Down ------------------------- }
public void TestField_Source() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- OrderCriteriaField orderCriteriaField = new OrderCriteriaField("TestProp", SortDirection.Descending); Source source = new Source(TestUtil.GetRandomString()); orderCriteriaField.Source = source; //---------------Test Result ----------------------- Assert.AreEqual(source, orderCriteriaField.Source); //---------------Tear Down ------------------------- }
public void TestField_Constructor() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- string name = "TestProp"; OrderCriteriaField orderCriteriaField = new OrderCriteriaField(name, SortDirection.Descending); //---------------Test Result ----------------------- Assert.AreEqual(name, orderCriteriaField.PropertyName); Assert.AreEqual(SortDirection.Descending, orderCriteriaField.SortDirection); //---------------Tear Down ------------------------- }
public void TestField_FromString() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("TestProp dEsc"); //---------------Test Result ----------------------- Assert.AreEqual("TestProp", orderCriteriaField.FieldName); Assert.AreEqual(SortDirection.Descending, orderCriteriaField.SortDirection); Assert.IsNull(orderCriteriaField.Source); //---------------Tear Down ------------------------- }
public void TestField_FromString_WithSource() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("MyRelationship.TestProp dEsc"); //---------------Test Result ----------------------- Assert.AreEqual(new Source("MyRelationship"), orderCriteriaField.Source); Assert.AreEqual("TestProp", orderCriteriaField.PropertyName); Assert.AreEqual(SortDirection.Descending, orderCriteriaField.SortDirection); //---------------Tear Down ------------------------- }
public void TestField_ToStringSource() { //---------------Set up test pack------------------- string name = "TestProp"; OrderCriteriaField orderCriteriaField = new OrderCriteriaField(name, SortDirection.Descending); string source = Guid.NewGuid().ToString("N"); orderCriteriaField.Source = new Source(source); //---------------Execute Test ---------------------- string fieldAsString = orderCriteriaField.ToString(); //---------------Test Result ----------------------- Assert.AreEqual(string.Format("{0}.{1} DESC", source, name), fieldAsString); //---------------Tear Down ------------------------- }
public void TestField_FromString_ThroughRelationship_TwoLevelsDeep() { //---------------Set up test pack------------------- //---------------Execute Test ---------------------- OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("MyRelationship.MySecondRelationship.TestProp"); //---------------Test Result ----------------------- Assert.AreEqual("TestProp", orderCriteriaField.PropertyName); Source source = orderCriteriaField.Source; Assert.AreEqual(new Source("MyRelationship"), source); Assert.AreEqual(1, source.Joins.Count); Assert.AreSame(source, source.Joins[0].FromSource); Assert.AreEqual(new Source("MySecondRelationship"), source.Joins[0].ToSource); //---------------Tear Down ------------------------- }
public void TestField_Compare_ThroughRelationship_TwoLevels() { //---------------Set up test pack------------------- new Engine(); //TO Load ClassDefs new Car(); //TO Load ClassDefs ContactPerson contactPerson1 = ContactPerson.CreateSavedContactPerson("ZZZZ"); ContactPerson contactPerson2 = ContactPerson.CreateSavedContactPerson("AAAA"); Car car1 = Car.CreateSavedCar("2", contactPerson1); Car car2 = Car.CreateSavedCar("5", contactPerson2); Engine car1engine1 = Engine.CreateSavedEngine(car1, "20"); Engine car2engine1 = Engine.CreateSavedEngine(car2, "50"); OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("Engine.Car.Owner.Surname"); //---------------Execute Test ---------------------- int comparisonResult = orderCriteriaField.Compare(car1engine1, car2engine1); //---------------Test Result ----------------------- Assert.Greater(comparisonResult, 0, "engine1 should be greater as its car's regno is greater"); //---------------Tear Down ------------------------- }
public void TestSetOrderCriteria_AddsJoinToSource() { //---------------Set up test pack------------------- var selectQuery = new SelectQuery(); const string sourceName = "mysource"; selectQuery.Source = new Source(sourceName); var orderSource = new Source(sourceName); var expectedSourceName = TestUtil.GetRandomString(); orderSource.JoinToSource(new Source(expectedSourceName)); var orderOrderCriteriaField = new OrderCriteriaField("testfield", "testfield", orderSource, SortDirection.Ascending); var orderCriteria = new OrderCriteria().Add(orderOrderCriteriaField); //---------------Execute Test ---------------------- selectQuery.OrderCriteria = orderCriteria; //---------------Test Result ----------------------- Assert.AreEqual(1, selectQuery.Source.Joins.Count); Assert.AreEqual(selectQuery.Source, selectQuery.Source.Joins[0].FromSource); Assert.AreEqual(expectedSourceName, selectQuery.Source.Joins[0].ToSource.Name); }
public void TestField_Compare_ThroughRelationship() { //---------------Set up test pack------------------- Car car1 = new Car(); car1.CarRegNo = "5"; Car car2 = new Car(); car2.CarRegNo = "2"; Engine engine1 = new Engine(); engine1.CarID = car1.CarID; engine1.EngineNo = "20"; Engine engine2 = new Engine(); engine2.CarID = car2.CarID; engine2.EngineNo = "50"; ITransactionCommitter committer = BORegistry.DataAccessor.CreateTransactionCommitter(); committer.AddBusinessObject(car1); committer.AddBusinessObject(car2); committer.AddBusinessObject(engine1); committer.AddBusinessObject(engine2); committer.CommitTransaction(); OrderCriteriaField orderCriteriaField = OrderCriteriaField.FromString("Engine.Car.CarRegNo"); //---------------Assert PreConditions--------------- //---------------Execute Test ---------------------- int comparisonResult = orderCriteriaField.Compare(engine1, engine2); //---------------Test Result ----------------------- Assert.Greater(comparisonResult, 0, "engine1 should be greater as its car's regno is greater"); //---------------Tear Down ------------------------- }
private void AppendOrderByField(StringBuilder orderByClause, OrderCriteriaField orderOrderCriteriaField) { string direction = orderOrderCriteriaField.SortDirection == SortDirection.Ascending ? "ASC" : "DESC"; string tableAndFieldName; if (orderOrderCriteriaField.Source != null) { tableAndFieldName = this.Aliases[orderOrderCriteriaField.Source.ChildSourceLeaf.ToString()] + "." + DelimitFieldName(orderOrderCriteriaField.FieldName); } else { if (Fields.ContainsKey(orderOrderCriteriaField.PropertyName)) { var queryField = Fields[orderOrderCriteriaField.PropertyName]; tableAndFieldName = String.Format("{0}{1}", queryField.Source != null ? this.Aliases[queryField.Source.ToString()] + "." : "", DelimitFieldName(queryField.FieldName)); } else { tableAndFieldName = this.Aliases[Source.ToString()] + "." + DelimitFieldName(orderOrderCriteriaField.FieldName); } } StringUtilities.AppendMessage(orderByClause, tableAndFieldName + " " + direction, ", "); }
private string GetOrderByFieldName(OrderCriteriaField orderOrderCriteriaField) { if (Fields.ContainsKey(orderOrderCriteriaField.PropertyName)) { var queryField = Fields[orderOrderCriteriaField.PropertyName]; return queryField.FieldName; } return orderOrderCriteriaField.FieldName; }