Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
 }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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));
        }