Ejemplo n.º 1
0
        public void Indexer_Setter_Exception_IndexIsEqualToCount()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list[22] = 100);
        }
Ejemplo n.º 2
0
        public void Indexer_Getter_ReturnsPlaceholderBeforeSetElement()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[10] = 42;

            Assert.AreEqual(0, list[9]);
        }
Ejemplo n.º 3
0
        public void Indexer_SettingAndGettingReturnsSameElement_EndOfPage()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[19] = 42;

            Assert.AreEqual(42, list[19]);
        }
Ejemplo n.º 4
0
        public void UpdateCount_UpdatesPageSizeProperty()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            Assert.AreEqual(10, list.PageSize);
        }
Ejemplo n.º 5
0
        public void Add_AddsNewItemToList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            list.Add(123);

            Assert.AreEqual(23, list.Count);
            Assert.AreEqual(123, list[22]);
        }
Ejemplo n.º 6
0
        public void WithPageCacheSize_GettingValues_PushesPageUpInRecentlyUsedPagesList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>() { PageCacheSize = 3 };
            list.UpdateCount(50, 10);

            list[15] = 5;
            list[25] = 10;
            list[35] = 15;
            list[45] = 20;
            int item25 = list[25];
            list[10] = 25;

            Assert.AreEqual(25, list[10]);
            Assert.AreEqual(0, list[15]);
            Assert.AreEqual(10, list[25]);
            Assert.AreEqual(0, list[35]);
            Assert.AreEqual(20, list[45]);
        }
Ejemplo n.º 7
0
        public void GetEnumerator_NonGeneric_EnumeratesArray()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 3);
            list[2] = 8;
            list[10] = 42;

            List<int> result = new List<int>();

            IEnumerator enumerator = ((IEnumerable)list).GetEnumerator();

            while (enumerator.MoveNext())
                result.Add((int)enumerator.Current);

            CollectionAssert.AreEqual(new int[] { 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, result);
        }
Ejemplo n.º 8
0
 public void UpdateCount_Exception_CountIsLessThanZero()
 {
     PageVirtualizingList<int> list = new PageVirtualizingList<int>();
     Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.UpdateCount(-1, 10));
 }
Ejemplo n.º 9
0
        public void IndexOf_ReturnsMinusOneIfNotInList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[2] = 8;
            list[10] = 42;

            int result = list.IndexOf(15);

            Assert.AreEqual(-1, result);
        }
Ejemplo n.º 10
0
        public void IndexOf_ReturnsIndexOfItemInList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[2] = 8;
            list[10] = 42;

            int result = list.IndexOf(42);

            Assert.AreEqual(10, result);
        }
Ejemplo n.º 11
0
        public void CopyTo_CopiesToDestinationArray()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 3);
            list[2] = 8;
            list[10] = 42;

            int[] destination = new int[27];
            destination[1] = 1;
            destination[5] = 2;
            destination[24] = 3;

            list.CopyTo(destination, 2);

            CollectionAssert.AreEqual(new int[] { 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0 }, destination);
        }
Ejemplo n.º 12
0
        public void Contains_ReturnsFalseIfNotInList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[2] = 8;
            list[10] = 42;

            bool result = list.Contains(15);

            Assert.AreEqual(false, result);
        }
Ejemplo n.º 13
0
        public void Contains_ReturnsTrueIfItemInList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);
            list[2] = 8;
            list[10] = 42;

            bool result = list.Contains(42);

            Assert.AreEqual(true, result);
        }
Ejemplo n.º 14
0
        public void Clear_ClearsTheList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            list.Clear();

            Assert.AreEqual(0, list.Count);
        }
Ejemplo n.º 15
0
        public void UpdateCount_ChangingPageNumber_PreservesExistingValues()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            list[15] = 42;

            list.UpdateCount(50, 10);

            Assert.AreEqual(42, list[15]);
        }
Ejemplo n.º 16
0
        public void UpdateCount_ChangingPageSize_ClearsExistingValues()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            list[12] = 42;

            list.UpdateCount(22, 5);

            for (int i = 0; i < list.Count; i++)
                Assert.AreEqual(0, list[i]);
        }
Ejemplo n.º 17
0
        public void Insert_InsertsItemIntoList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(20, 6);
            list[2] = 8;
            list[10] = 42;

            list.Insert(5, 123);

            Assert.AreEqual(21, list.Count);
            Assert.AreEqual(8, list[2]);
            Assert.AreEqual(123, list[5]);
            Assert.AreEqual(42, list[11]);
        }
Ejemplo n.º 18
0
 public void UpdateCount_Exception_PageSizeIsLessThanOne()
 {
     PageVirtualizingList<int> list = new PageVirtualizingList<int>();
     Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.UpdateCount(22, 0));
 }
Ejemplo n.º 19
0
        public void Insert_Exception_IndexIsGreaterThanCount()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(20, 6);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.Insert(21, 123));
        }
Ejemplo n.º 20
0
        public void WithPageCacheSize_SettingMultipleItemsInSinglePage_CachesAllValues()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>() { PageCacheSize = 3 };
            list.UpdateCount(50, 10);

            list[11] = 5;
            list[12] = 10;
            list[13] = 15;
            list[14] = 20;
            list[15] = 25;
            list[16] = 30;
            list[17] = 35;

            Assert.AreEqual(5, list[11]);
            Assert.AreEqual(10, list[12]);
            Assert.AreEqual(15, list[13]);
            Assert.AreEqual(20, list[14]);
            Assert.AreEqual(25, list[15]);
            Assert.AreEqual(30, list[16]);
            Assert.AreEqual(35, list[17]);
        }
Ejemplo n.º 21
0
        public void Remove_ReturnsFalseForItemNotInList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(20, 6);
            list[2] = 8;
            list[5] = 10;
            list[10] = 42;

            bool result = list.Remove(12);

            Assert.AreEqual(false, result);
        }
Ejemplo n.º 22
0
        public void WithPageCacheSize_SettingValues_ClearsLeastRecentPages()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>() { PageCacheSize = 3 };
            list.UpdateCount(50, 10);

            list[15] = 5;
            list[25] = 10;
            list[35] = 15;
            list[45] = 20;
            list[10] = 25;

            Assert.AreEqual(25, list[10]);
            Assert.AreEqual(0, list[15]);
            Assert.AreEqual(0, list[25]);
            Assert.AreEqual(15, list[35]);
            Assert.AreEqual(20, list[45]);
        }
Ejemplo n.º 23
0
        public void RemoveAt_RemovesItemFromList()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(20, 6);
            list[2] = 8;
            list[5] = 10;
            list[10] = 42;

            list.RemoveAt(5);

            Assert.AreEqual(19, list.Count);
            Assert.AreEqual(8, list[2]);
            Assert.AreEqual(42, list[9]);
        }
Ejemplo n.º 24
0
        public void RemoveAt_Exception_IndexIsEqualToCount()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(20, 6);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list.RemoveAt(20));
        }
Ejemplo n.º 25
0
        public void UpdateCount_UpdatesCountProperty()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            Assert.AreEqual(22, list.Count);
        }
Ejemplo n.º 26
0
        public void Indexer_Getter_ReturnsPlaceholderFarAfterSetElement()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(2000, 100);
            list[10] = 42;

            Assert.AreEqual(0, list[1990]);
        }
Ejemplo n.º 27
0
        public void Indexer_Getter_Exception_IndexIsLessThanZero()
        {
            PageVirtualizingList<int> list = new PageVirtualizingList<int>();
            list.UpdateCount(22, 10);

            Assert.ThrowsException<ArgumentOutOfRangeException>(() => list[-1]);
        }