public void AddTest() { int count = 100; LxList <int> list = InitList(count); for (int i = 0; i < list.Count; ++i) { Assert.AreEqual(i, list.Get(i)); } Assert.AreEqual(100, list.Count); for (int i = 0; i < count; ++i) { list.Add(i); } for (int i = 0; i < count; ++i) { Assert.AreEqual(i, list.Get(i)); } for (int i = count; i < list.Count; ++i) { Assert.AreEqual(i - count, list.Get(i)); } }
public void InsertTest() { int count = 100; LxList <int> list = InitList(count); Assert.Catch <LxException>(() => { list.Insert(-1, -1); }); Assert.Catch <LxException>(() => { list.Insert(101, -1); }); list.Insert(0, -1); for (int i = 0; i < list.Count; ++i) { Assert.AreEqual(i - 1, list.Get(i)); } InsertTest(0, -1, count); InsertTest(count - 1, -1, count); InsertTest(count / 2, -1, count); }
private void SetTest(int setIndex, int setValue, int count) { LxList <int> list = InitList(count); list.Set(setIndex, setValue); for (int i = 0; i < list.Count; ++i) { int value = list.Get(i); if (i == setIndex) { Assert.AreEqual(setValue, value); } else { Assert.AreEqual(i, value); } } }
public void BenchmarkGet() { int count = 128; int iteration = 1000000; int[] array = new int[count]; List <int> list = new List <int>(count); LxList <int> lxList = new LxList <int>(count); Stopwatch watch; int result; int index = 10; // assign test for (int i = 0; i < count; ++i) { array[i] = i; list.Add(i); lxList.Add(i); } // access test watch = MatchmakingTest.Measure(() => { result = array[index]; }, iteration); Debug.Log($"array access ticks {watch.ElapsedMilliseconds}"); watch = MatchmakingTest.Measure(() => { result = list[index]; }, iteration); Debug.Log($"list access ticks {watch.ElapsedMilliseconds}"); watch = MatchmakingTest.Measure(() => { result = lxList.Get(index); }, iteration); Debug.Log($"lx list access ticks {watch.ElapsedMilliseconds}"); }
public void SortTest() { int count = 100; LxList <SortTestData> list = new LxList <SortTestData>(); var comparer = new SortTestComparer(); for (int i = 0; i < count; ++i) { list.Add(new SortTestData { Data = i }, comparer, true); } for (int i = 0; i < count; ++i) { Assert.AreEqual(count - i - 1, list.Get(i).Data); } int[] testInput = new int[] { 9, 8, 7, 2, 33, 144, 22, 13, 44, 33 }; int[] testOuputUnique = new int[] { 144, 44, 33, 22, 13, 9, 8, 7, 2 }; int[] testOuputNoUnique = new int[] { 144, 44, 33, 33, 22, 13, 9, 8, 7, 2 }; list = new LxList <SortTestData>(); LxList <int> subList = new LxList <int>(); for (int i = 0; i < testInput.Length; ++i) { int insertIndex = list.Add(new SortTestData { Data = testInput[i] }, comparer, true); if (insertIndex >= 0) { subList.Insert(insertIndex, testInput[i]); } } Assert.AreEqual(subList.Count, list.Count); for (int i = 0; i < list.Count; ++i) { Assert.AreEqual(testOuputUnique[i], list.Get(i).Data); Assert.AreEqual(testOuputUnique[i], subList.Get(i)); } list = new LxList <SortTestData>(); subList = new LxList <int>(); for (int i = 0; i < testInput.Length; ++i) { int insertIndex = list.Add(new SortTestData { Data = testInput[i] }, comparer, false); if (insertIndex >= 0) { subList.Insert(insertIndex, testInput[i]); } } Assert.AreEqual(subList.Count, list.Count); for (int i = 0; i < list.Count; ++i) { Assert.AreEqual(testOuputNoUnique[i], list.Get(i).Data); Assert.AreEqual(testOuputNoUnique[i], subList.Get(i)); } }