public void Basic() { var rowManager = new FieldRowManager(); var rowIndex = rowManager.AddRow(); rowManager.DeleteRow(rowIndex); Assert.AreEqual(0, rowManager.RowCount); rowIndex = rowManager.AddRow(); rowManager.DeleteRow(rowIndex); Assert.AreEqual(0, rowManager.RowCount); var rowIndex2 = rowManager.AddRow(); var rowIndex3 = rowManager.AddRow(); var rowIndex4 = rowManager.AddRow(); rowManager.DeleteRow(rowIndex3); Assert.AreEqual(2, rowManager.RowCount); rowManager.DeleteRow(rowIndex4); Assert.AreEqual(1, rowManager.RowCount); var rowIndex5 = rowManager.AddRow(); Assert.AreEqual(2, rowManager.RowCount); rowManager.DeleteRow(rowIndex5); Assert.AreEqual(1, rowManager.RowCount); rowManager.DeleteRow(rowIndex2); Assert.AreEqual(0, rowManager.RowCount); }
public void TestReset() { var rowManager = new FieldRowManager(); var rowIndex = rowManager.AddRow(); rowManager.Reset(); Assert.AreEqual(0, rowManager.RowCount); rowIndex = rowManager.AddRow(); Assert.AreEqual(0, rowIndex); }
public JoinRowDeleteHandler(List <Join <TKey> .Row?> rows, Dictionary <TKey, Join <TKey> .ColumnRowMapping> rowsByKey, Dictionary <int, HashSet <int> > columnRowsToJoinRows, Dictionary <int, HashSet <int> > otherColumnRowsToJoinRows, JoinSide joinSide, JoinType joinType, FieldRowManager rowManager) { _rows = rows; _rowsByKey = rowsByKey; _columnRowsToJoinRows = columnRowsToJoinRows; _otherColumnRowsToJoinRows = otherColumnRowsToJoinRows; _joinSide = joinSide; _joinType = joinType; _rowManager = rowManager; }
public void TestGetRowAt() { var rowManager = new FieldRowManager(); // {} Assert.AreEqual(-1, rowManager.GetRowAt(0)); Assert.AreEqual(-1, rowManager.GetRowAt(1)); Assert.AreEqual(-1, rowManager.GetRowAt(-1)); rowManager = new FieldRowManager(); // {X,1} rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); Assert.AreEqual(1, rowManager.GetRowAt(0)); Assert.AreEqual(-1, rowManager.GetRowAt(int.MaxValue)); Assert.AreEqual(-1, rowManager.GetRowAt(int.MinValue)); // {0,X,1} rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(1); Assert.AreEqual(0, rowManager.GetRowAt(0)); Assert.AreEqual(2, rowManager.GetRowAt(1)); // {0,X,1,X} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(1); rowManager.DeleteRow(3); Assert.AreEqual(0, rowManager.GetRowAt(0)); Assert.AreEqual(2, rowManager.GetRowAt(1)); Assert.AreEqual(-1, rowManager.GetRowAt(2)); // {X,0,X,1} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); rowManager.DeleteRow(2); Assert.AreEqual(1, rowManager.GetRowAt(0)); Assert.AreEqual(3, rowManager.GetRowAt(1)); // {X,X,X,X,0,1,2,3} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); rowManager.DeleteRow(1); rowManager.DeleteRow(2); rowManager.DeleteRow(3); Assert.AreEqual(4, rowManager.GetRowAt(0)); Assert.AreEqual(5, rowManager.GetRowAt(1)); Assert.AreEqual(6, rowManager.GetRowAt(2)); Assert.AreEqual(7, rowManager.GetRowAt(3)); // {0,1,X,X,X,2,3} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(2); rowManager.DeleteRow(3); rowManager.DeleteRow(4); Assert.AreEqual(0, rowManager.GetRowAt(0)); Assert.AreEqual(1, rowManager.GetRowAt(1)); Assert.AreEqual(5, rowManager.GetRowAt(2)); Assert.AreEqual(6, rowManager.GetRowAt(3)); }
public void TestGetRowPosition() { var rowManager = new FieldRowManager(); Assert.AreEqual(-1, rowManager.GetPositionOfRow(int.MinValue)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(-1)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(0)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(int.MaxValue)); // {0,1,2,3} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); Assert.AreEqual(0, rowManager.GetPositionOfRow(0)); Assert.AreEqual(1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(2, rowManager.GetPositionOfRow(2)); Assert.AreEqual(3, rowManager.GetPositionOfRow(3)); // {X,X,X,X} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); rowManager.DeleteRow(1); rowManager.DeleteRow(2); rowManager.DeleteRow(3); Assert.AreEqual(-1, rowManager.GetPositionOfRow(0)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(2)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(3)); // {X,1,X,2} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); rowManager.DeleteRow(2); Assert.AreEqual(-1, rowManager.GetPositionOfRow(0)); Assert.AreEqual(0, rowManager.GetPositionOfRow(1)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(2)); Assert.AreEqual(1, rowManager.GetPositionOfRow(3)); // {0,X,2,X} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(1); rowManager.DeleteRow(3); Assert.AreEqual(0, rowManager.GetPositionOfRow(0)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(1, rowManager.GetPositionOfRow(2)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(3)); // {X,X,2,3} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(0); rowManager.DeleteRow(1); Assert.AreEqual(-1, rowManager.GetPositionOfRow(0)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(0, rowManager.GetPositionOfRow(2)); Assert.AreEqual(1, rowManager.GetPositionOfRow(3)); // {0,1,X,X} rowManager = new FieldRowManager(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.AddRow(); rowManager.DeleteRow(2); rowManager.DeleteRow(3); Assert.AreEqual(0, rowManager.GetPositionOfRow(0)); Assert.AreEqual(1, rowManager.GetPositionOfRow(1)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(2)); Assert.AreEqual(-1, rowManager.GetPositionOfRow(3)); }