public BucketSort(OrderMethod order, OrderByProperty orderBy, bool multi = false) { if (order == OrderMethod.Descending) { _ordering = more; _multiOrder = multiMore; } else { _ordering = less; _multiOrder = multiLess; } _orderMethod = order; // Always use Size as the first property to order when multiple properties are enabled // It defines the initialization of the buckets if (multi) { _orderBy = OrderByProperty.Size; } else { _orderBy = orderBy; } _enableMulti = multi; }
public WhenConstructedWithDesc() { TestHelper.EnsureEDM(); EdmComplexType model = EntityDataModel.Current.EntitySets["Customers"].EdmType; _rawValue = "CompanyName desc"; _property = new OrderByProperty(_rawValue, model); }
public WhenConstructedWithAsc() { TestHelper.EnsureEDM(); var model = EntityDataModel.Current.EntitySets["Customers"].EdmType; this.rawValue = "CompanyName asc"; this.property = new OrderByProperty(this.rawValue, model); }
public BubbleSort(OrderMethod order, OrderByProperty orderBy, bool multi = false) { if (order == OrderMethod.Descending) { _ordering = less; _multiOrder = multiLess; } else { _ordering = more; _multiOrder = multiMore; } _orderBy = orderBy; _enableMulti = multi; }
public QuickSort(OrderMethod order, OrderByProperty orderBy, bool multi = false) { if (order == OrderMethod.Descending) { _firstMulti = moreMulti; _secondMulti = lessMulti; _firstOrder = more; _secondOrder = less; } else { _firstMulti = lessMulti; _secondMulti = moreMulti; _firstOrder = less; _secondOrder = more; } _orderBy = orderBy; _enableMulti = multi; }
/// <summary> /// Binds the specified <see cref="OrderByProperty"/>. /// </summary> /// <param name="orderByProperty">The <see cref="OrderByProperty"/> to bind.</param> protected abstract void Bind(OrderByProperty orderByProperty);
public void TestReadSimpleManyRecords() { using (var container = new RhetosTestContainer()) { var gRepository = container.Resolve <GenericRepository <SimpleRP> >(); var items = Enumerable.Range(0, 4001).Select(a => new SimpleRP() { ID = Guid.NewGuid(), value = a }).ToList(); gRepository.Save(items, null, gRepository.Load()); { var cReadAll = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, }; TestUtility.ShouldFail(() => ExecuteReadCommand(cReadAll, container), _readException); } { var cReadAll = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { } }; TestUtility.ShouldFail(() => ExecuteReadCommand(cReadAll, container), _readException); } { var cReadCountOnly = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadTotalCount = true, }; var result = ExecuteReadCommand(cReadCountOnly, container); Assert.AreEqual(4001, result.TotalCount); } var orderByValue = new OrderByProperty[] { new OrderByProperty() { Property = "value", Descending = false } }; { var cRead1500_2500 = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Skip = 1500, Top = 1001, OrderByProperties = orderByValue, }; var result = ExecuteReadCommand(cRead1500_2500, container); Assert.AreEqual(1001, result.Records.Count()); } { var cRead1501_2501 = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Skip = 1501, Top = 1001, OrderByProperties = orderByValue, }; TestUtility.ShouldFail(() => ExecuteReadCommand(cRead1501_2501, container), _readException); } { var cRead1499_2499 = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Skip = 1499, Top = 1001, OrderByProperties = orderByValue, }; TestUtility.ShouldFail(() => ExecuteReadCommand(cRead1499_2499, container), _readException); } { var cRead4000 = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Skip = 4000, Top = 1, OrderByProperties = orderByValue, }; TestUtility.ShouldFail(() => ExecuteReadCommand(cRead4000, container), _readException); } { var cReadFilterFail = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { new FilterCriteria() { Property = "value", Operation = "less", Value = 2001 } } }; TestUtility.ShouldFail(() => ExecuteReadCommand(cReadFilterFail, container), _readException); } { var cReadSingleFail = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { new FilterCriteria() { Property = "ID", Operation = "equal", Value = items[2501].ID } } }; TestUtility.ShouldFail(() => ExecuteReadCommand(cReadSingleFail, container), _readException); } { var cReadSingleOk = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { new FilterCriteria() { Property = "ID", Operation = "equal", Value = items[2500].ID } } }; var result = ExecuteReadCommand(cReadSingleOk, container); Assert.AreEqual(1, result.Records.Count()); } { var cReadFilterOk = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { new FilterCriteria() { Property = "value", Operation = "greater", Value = 2499 }, new FilterCriteria() { Property = "value", Operation = "less", Value = 2501 } } }; var result = ExecuteReadCommand(cReadFilterOk, container); Assert.AreEqual(1, result.Records.Count()); Assert.AreEqual(items[2500].ID, (result.Records[0] as SimpleRP).ID); } { var cPermissionFilter = new ReadCommandInfo() { DataSource = "TestRowPermissions.SimpleRP", ReadRecords = true, Filters = new FilterCriteria[] { new FilterCriteria() { Filter = _rowPermissionsReadFilter } } }; var result = ExecuteReadCommand(cPermissionFilter, container); Assert.AreEqual(1001, result.Records.Count()); var values = ((SimpleRP[])result.Records).Select(a => a.value); Assert.IsTrue(Enumerable.Range(1500, 1001).All(a => values.Contains(a))); } } }