/// <summary> /// Makes the recordset evaluate ready. /// </summary> /// <param name="keepIdx">The keep idx.</param> /// <param name="keepCol">The keep col.</param> /// <param name="error">The error.</param> public void MakeRecordsetEvaluateReady(int keepIdx, string keepCol, out string error) { error = string.Empty; _isEvalauteReady = true; // use only wants a specific column retained, not the entire row if (keepCol != null) { IList <Dev2Column> newCols = new List <Dev2Column>(Columns.Count) { new Dev2Column(keepCol, string.Empty) }; // remove values Columns = newCols; } if (keepIdx == GlobalConstants.AllIndexes || _internalObj.IsEmtpy) { return; } var minIdx = (keepIdx - 1); _internalObj.ReInstateMaxValue(keepIdx); if (minIdx >= 1) { _internalObj.ReInstateMinValue(minIdx); _internalObj.AddGap(minIdx); } }
public void SBinaryDataListEntry_MoveIndexDataForClone_MinMaxAndGapsMove_SameDataBothSides() { //------------Setup for test-------------------------- var sBinaryDataListEntry = new SBinaryDataListEntry(); sBinaryDataListEntry.Init(1); sBinaryDataListEntry.ReInstateMinValue(2); sBinaryDataListEntry.ReInstateMaxValue(5); sBinaryDataListEntry.AddGap(1); var targetEntry = new SBinaryDataListEntry(); targetEntry.Init(1); //------------Execute Test--------------------------- targetEntry.MoveIndexDataForClone(sBinaryDataListEntry.Keys.MinIndex(), sBinaryDataListEntry.Keys.MaxIndex(), sBinaryDataListEntry.FetchGaps()); //------------Assert Results------------------------- var targetKeys = targetEntry.Keys; var parentKeys = sBinaryDataListEntry.Keys; var targetMin = targetKeys.MinIndex(); var targetMax = targetKeys.MaxIndex(); var targetCount = targetKeys.Count; var parentMin = parentKeys.MinIndex(); var parentMax = parentKeys.MaxIndex(); var parentCount = parentKeys.Count; // found count we can tell if gaps moved ;) Assert.AreEqual(3, parentCount); Assert.AreEqual(parentCount, targetCount); Assert.AreEqual(parentMin, targetMin); Assert.AreEqual(parentMax, targetMax); }