Beispiel #1
0
        public void TestAddMultipleRowsAndScroll()
        {
            TableViewMock  table = new TableViewMock(320, 15);
            CTableViewCell c1    = new TableViewCellMock1(table.Width, 10);
            CTableViewCell c2    = new TableViewCellMock2(table.Width, 15);
            CTableViewCell c3    = new TableViewCellMock1(table.Width, 10);
            CTableViewCell c4    = new TableViewCellMock2(table.Width, 15);
            CTableViewCell c5    = new TableViewCellMock1(table.Width, 10);
            CTableViewCell c6    = new TableViewCellMock2(table.Width, 15);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new CTableViewCell[0]);

            table.DataSource = adapter;
            table.Delegate   = adapter;

            adapter.Add(c1, c2, c3, c4, c5, c6);

            table.ReloadNewData();
            AssertVisibleRows(table, c1, c2);

            table.Scroll(15);
            AssertVisibleRows(table, c2, c3);

            table.Scroll(10);
            AssertVisibleRows(table, c3, c4);

            table.Scroll(15);
            AssertVisibleRows(table, c4, c5);

            table.Scroll(10);
            AssertVisibleRows(table, c5, c6);

            table.Scroll(15);
            AssertVisibleRows(table, c6);

            table.Scroll(-15);
            AssertVisibleRows(table, c5, c6);

            table.Scroll(-10);
            AssertVisibleRows(table, c4, c5);

            table.Scroll(-15);
            AssertVisibleRows(table, c3, c4);

            table.Scroll(-10);
            AssertVisibleRows(table, c2, c3);

            table.Scroll(-15);
            AssertVisibleRows(table, c1, c2);
        }
        public void TestAddMultipleRowsAndScroll()
        {
            TableViewMock table = new TableViewMock(320, 15);
            TableViewCell c1 = new TableViewCellMock1(table.Width, 10);
            TableViewCell c2 = new TableViewCellMock2(table.Width, 15);
            TableViewCell c3 = new TableViewCellMock1(table.Width, 10);
            TableViewCell c4 = new TableViewCellMock2(table.Width, 15);
            TableViewCell c5 = new TableViewCellMock1(table.Width, 10);
            TableViewCell c6 = new TableViewCellMock2(table.Width, 15);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new TableViewCell[0]);
            table.DataSource = adapter;
            table.Delegate = adapter;

            adapter.Add(c1, c2, c3, c4, c5, c6);

            table.ReloadNewData();
            AssertVisibleRows(table, c1, c2);

            table.Scroll(15);
            AssertVisibleRows(table, c2, c3);

            table.Scroll(10);
            AssertVisibleRows(table, c3, c4);

            table.Scroll(15);
            AssertVisibleRows(table, c4, c5);

            table.Scroll(10);
            AssertVisibleRows(table, c5, c6);

            table.Scroll(15);
            AssertVisibleRows(table, c6);

            table.Scroll(-15);
            AssertVisibleRows(table, c5, c6);

            table.Scroll(-10);
            AssertVisibleRows(table, c4, c5);

            table.Scroll(-15);
            AssertVisibleRows(table, c3, c4);

            table.Scroll(-10);
            AssertVisibleRows(table, c2, c3);

            table.Scroll(-15);
            AssertVisibleRows(table, c1, c2);
        }
        public void TestAddMultipleRows()
        {
            TableViewMock table = new TableViewMock(320, 15);
            TableViewCell a1 = new TableViewCellMock1(table.Width, 10);
            TableViewCell a2 = new TableViewCellMock2(table.Width, 15);
            TableViewCell a3 = new TableViewCellMock3(table.Width, 10);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new TableViewCell[] { a1 });

            table.DataSource = adapter;
            table.Delegate = adapter;
            table.ReloadData();

            adapter.Add(a2);
            adapter.Add(a3);
            table.ReloadNewData();

            AssertVisibleRows(table, a1, a2);
        }
Beispiel #4
0
        public void TestAddMultipleRows()
        {
            TableViewMock  table = new TableViewMock(320, 15);
            CTableViewCell a1    = new TableViewCellMock1(table.Width, 10);
            CTableViewCell a2    = new TableViewCellMock2(table.Width, 15);
            CTableViewCell a3    = new TableViewCellMock3(table.Width, 10);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new CTableViewCell[] { a1 });

            table.DataSource = adapter;
            table.Delegate   = adapter;
            table.ReloadData();

            adapter.Add(a2);
            adapter.Add(a3);
            table.ReloadNewData();

            AssertVisibleRows(table, a1, a2);
        }
Beispiel #5
0
        public void TestAddItemsScrollLock()
        {
            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new CTableViewCell[0]);

            TableViewMock table = new TableViewMock(320, 30);

            table.DataSource     = adapter;
            table.Delegate       = adapter;
            table.IsScrollLocked = true;
            table.ReloadData();

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 0);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(30, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 0, 1);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(30, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 0, 1, 2);
            Assert.AreEqual(5, table.ScrollPosTop);
            Assert.AreEqual(35, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 1, 2, 3);
            Assert.AreEqual(20, table.ScrollPosTop);
            Assert.AreEqual(50, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 2, 3, 4);
            Assert.AreEqual(30, table.ScrollPosTop);
            Assert.AreEqual(60, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 3, 4, 5);
            Assert.AreEqual(45, table.ScrollPosTop);
            Assert.AreEqual(75, table.ScrollPosBottom);
        }
Beispiel #6
0
        public void TestAddTwoRows()
        {
            TableViewMock  table = new TableViewMock(320, 15);
            CTableViewCell a1    = new TableViewCellMock1(table.Width, 10);
            CTableViewCell a2    = new TableViewCellMock2(table.Width, 15);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new CTableViewCell[] { a1 });

            table.DataSource = adapter;
            table.Delegate   = adapter;
            table.ReloadData();

            adapter.Add(a2);
            table.ReloadNewData();

            CTableViewCell b1 = table.FirstVisibleCell;
            CTableViewCell b2 = b1.NextCell;

            Assert.AreSame(a1, b1);
            Assert.AreSame(a2, b2);
            AssertVisibleRows(table, 0, 1);
        }
        public void TestAddItemsScrollLock()
        {
            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new TableViewCell[0]);

            TableViewMock table = new TableViewMock(320, 30);
            table.DataSource = adapter;
            table.Delegate = adapter;
            table.IsScrollLocked = true;
            table.ReloadData();

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 0);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(30, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 0, 1);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(30, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 0, 1, 2);
            Assert.AreEqual(5, table.ScrollPosTop);
            Assert.AreEqual(35, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 1, 2, 3);
            Assert.AreEqual(20, table.ScrollPosTop);
            Assert.AreEqual(50, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 10));
            table.ReloadNewData();
            AssertVisibleRows(table, 2, 3, 4);
            Assert.AreEqual(30, table.ScrollPosTop);
            Assert.AreEqual(60, table.ScrollPosBottom);

            adapter.Add(new TableViewCellMock(table.Width, 15));
            table.ReloadNewData();
            AssertVisibleRows(table, 3, 4, 5);
            Assert.AreEqual(45, table.ScrollPosTop);
            Assert.AreEqual(75, table.ScrollPosBottom);
        }
        public void TestOverflowNoScrollLock()
        {
            int capacity = 7;
            float cellHeight = 16;
            float tableHeight = 85.5f;

            TestCellCapacityAdapter adapter = new TestCellCapacityAdapter(capacity);

            TableViewMock table = new TableViewMock(capacity, 320, tableHeight);
            table.IsScrollLocked = false;
            table.DataSource = adapter;
            table.Delegate = adapter;
            table.ReloadData();

            adapter.Add(new TableViewCell(320, cellHeight)); // 0
            table.ReloadNewData();

            AssertVisibleRows(table, 0);
            Assert.AreEqual(1, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 1
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1);
            Assert.AreEqual(2, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 2
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2);
            Assert.AreEqual(3, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 3
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3);
            Assert.AreEqual(4, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 4
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4);
            Assert.AreEqual(5, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 5
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4, 5);
            Assert.AreEqual(6, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 6
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4, 5);
            Assert.AreEqual(7, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 7
            table.ReloadNewData();

            AssertVisibleRows(table, 1, 2, 3, 4, 5, 6);
            Assert.AreEqual(8, table.RowsCount);
            Assert.AreEqual(cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 8
            table.ReloadNewData();

            AssertVisibleRows(table, 2, 3, 4, 5, 6, 7);
            Assert.AreEqual(9, table.RowsCount);
            Assert.AreEqual(2 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 9
            table.ReloadNewData();

            AssertVisibleRows(table, 3, 4, 5, 6, 7, 8);
            Assert.AreEqual(10, table.RowsCount);
            Assert.AreEqual(3 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 10
            table.ReloadNewData();

            AssertVisibleRows(table, 4, 5, 6, 7, 8, 9);
            Assert.AreEqual(11, table.RowsCount);
            Assert.AreEqual(4 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 11
            table.ReloadNewData();

            AssertVisibleRows(table, 5, 6, 7, 8, 9, 10);
            Assert.AreEqual(12, table.RowsCount);
            Assert.AreEqual(5 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 12
            table.ReloadNewData();

            AssertVisibleRows(table, 6, 7, 8, 9, 10, 11);
            Assert.AreEqual(13, table.RowsCount);
            Assert.AreEqual(6 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 13
            table.ReloadNewData();

            AssertVisibleRows(table, 7, 8, 9, 10, 11, 12);
            Assert.AreEqual(14, table.RowsCount);
            Assert.AreEqual(7 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 14
            table.ReloadNewData();

            AssertVisibleRows(table, 8, 9, 10, 11, 12, 13);
            Assert.AreEqual(15, table.RowsCount);
            Assert.AreEqual(8 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 15
            table.ReloadNewData();

            AssertVisibleRows(table, 9, 10, 11, 12, 13, 14);
            Assert.AreEqual(16, table.RowsCount);
            Assert.AreEqual(9 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);
        }
        public void TestAddTwoRows()
        {
            TableViewMock table = new TableViewMock(320, 15);
            TableViewCell a1 = new TableViewCellMock1(table.Width, 10);
            TableViewCell a2 = new TableViewCellMock2(table.Width, 15);

            TestCellPredefinedAdapter adapter = new TestCellPredefinedAdapter(new TableViewCell[] { a1 });

            table.DataSource = adapter;
            table.Delegate = adapter;
            table.ReloadData();

            adapter.Add(a2);
            table.ReloadNewData();

            TableViewCell b1 = table.FirstVisibleCell;
            TableViewCell b2 = b1.NextCell;

            Assert.AreSame(a1, b1);
            Assert.AreSame(a2, b2);
            AssertVisibleRows(table, 0, 1);
        }
Beispiel #10
0
        public void TestOverflowNoScrollLock()
        {
            int   capacity    = 7;
            float cellHeight  = 16;
            float tableHeight = 85.5f;

            TestCellCapacityAdapter adapter = new TestCellCapacityAdapter(capacity);

            TableViewMock table = new TableViewMock(capacity, 320, tableHeight);

            table.IsScrollLocked = false;
            table.DataSource     = adapter;
            table.Delegate       = adapter;
            table.ReloadData();

            adapter.Add(new TableViewCell(320, cellHeight)); // 0
            table.ReloadNewData();

            AssertVisibleRows(table, 0);
            Assert.AreEqual(1, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 1
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1);
            Assert.AreEqual(2, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 2
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2);
            Assert.AreEqual(3, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 3
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3);
            Assert.AreEqual(4, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 4
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4);
            Assert.AreEqual(5, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 5
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4, 5);
            Assert.AreEqual(6, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 6
            table.ReloadNewData();

            AssertVisibleRows(table, 0, 1, 2, 3, 4, 5);
            Assert.AreEqual(7, table.RowsCount);
            Assert.AreEqual(0, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 7
            table.ReloadNewData();

            AssertVisibleRows(table, 1, 2, 3, 4, 5, 6);
            Assert.AreEqual(8, table.RowsCount);
            Assert.AreEqual(cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 8
            table.ReloadNewData();

            AssertVisibleRows(table, 2, 3, 4, 5, 6, 7);
            Assert.AreEqual(9, table.RowsCount);
            Assert.AreEqual(2 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 9
            table.ReloadNewData();

            AssertVisibleRows(table, 3, 4, 5, 6, 7, 8);
            Assert.AreEqual(10, table.RowsCount);
            Assert.AreEqual(3 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 10
            table.ReloadNewData();

            AssertVisibleRows(table, 4, 5, 6, 7, 8, 9);
            Assert.AreEqual(11, table.RowsCount);
            Assert.AreEqual(4 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 11
            table.ReloadNewData();

            AssertVisibleRows(table, 5, 6, 7, 8, 9, 10);
            Assert.AreEqual(12, table.RowsCount);
            Assert.AreEqual(5 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 12
            table.ReloadNewData();

            AssertVisibleRows(table, 6, 7, 8, 9, 10, 11);
            Assert.AreEqual(13, table.RowsCount);
            Assert.AreEqual(6 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 13
            table.ReloadNewData();

            AssertVisibleRows(table, 7, 8, 9, 10, 11, 12);
            Assert.AreEqual(14, table.RowsCount);
            Assert.AreEqual(7 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 14
            table.ReloadNewData();

            AssertVisibleRows(table, 8, 9, 10, 11, 12, 13);
            Assert.AreEqual(15, table.RowsCount);
            Assert.AreEqual(8 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);

            adapter.Add(new TableViewCell(320, cellHeight)); // 15
            table.ReloadNewData();

            AssertVisibleRows(table, 9, 10, 11, 12, 13, 14);
            Assert.AreEqual(16, table.RowsCount);
            Assert.AreEqual(9 * cellHeight, table.ScrollPosTop);
            Assert.AreEqual(0, table.ScrollGUIPosTop);
        }