コード例 #1
0
    void LogList <T>(BetterLinkedList <T> list)
    {
        // 说明:用于测试正确性
        mBsb.Clear();
        mBsb.AppendFormat("---------------------  {0}", typeof(T).Name);
        mBsb.AppendLine();
        mBsb.AppendFormat("Count = {0}", list.Count);
        mBsb.AppendLine();
        BetterLinkedListNode <T> node = list.First;

        while (node != null)
        {
            mBsb.Append(node.Value.ToString());
            mBsb.AppendLine();
            node = node.Next;
        }
        mBsb.AppendLine();
        Debug.Log(mBsb.ToString());
    }
コード例 #2
0
 void TestRemoveNode <T>(BetterLinkedList <T> list, BetterLinkedListNode <T> node)
 {
     list.Remove(node);
 }
コード例 #3
0
    BetterLinkedListNode <T> TestFind <T>(BetterLinkedList <T> list, T value)
    {
        BetterLinkedListNode <T> node = list.Find(value);

        return(node);
    }
コード例 #4
0
 void TestAddAfter <T>(BetterLinkedList <T> list, BetterLinkedListNode <T> node, BetterLinkedListNode <T> newNode)
 {
     list.AddAfter(node, newNode);
 }
コード例 #5
0
 void TestAddAfter <T>(BetterLinkedList <T> list, BetterLinkedListNode <T> node, T item)
 {
     list.AddAfter(node, item);
 }
コード例 #6
0
 void TestAddBefore <T>(BetterLinkedList <T> list, BetterLinkedListNode <T> node, BetterLinkedListNode <T> newNode)
 {
     list.AddBefore(node, newNode);
 }
コード例 #7
0
 void TestAddBefore <T>(BetterLinkedList <T> list, BetterLinkedListNode <T> node, T item)
 {
     list.AddBefore(node, item);
 }
コード例 #8
0
    // Update is called once per frame
    void Update()
    {
        Debug.Log("TestBetterLinkedList.TestAddFirst\n");
        Profiler.BeginSample("TestBetterLinkedList.TestAddFirst");
        for (int i = 0; i < 10; i++)
        {
            TestAddFirst(mBetterLinkedList1, i);
            TestAddFirst(mBetterLinkedList2, mTestString[i]);
            TestAddFirst(mBetterLinkedList3, mTestCustomStruct[i]);
            TestAddFirst(mBetterLinkedList4, mTestCustomClass[i]);
        }
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestRemoveFirst\n");
        Profiler.BeginSample("TestBetterLinkedList.TestRemoveFirst");
        TestRemoveFirst(mBetterLinkedList1);
        TestRemoveFirst(mBetterLinkedList2);
        TestRemoveFirst(mBetterLinkedList3);
        TestRemoveFirst(mBetterLinkedList4);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestRemoveLast\n");
        Profiler.BeginSample("TestBetterLinkedList.TestRemoveLast");
        TestRemoveLast(mBetterLinkedList1);
        TestRemoveLast(mBetterLinkedList2);
        TestRemoveLast(mBetterLinkedList3);
        TestRemoveLast(mBetterLinkedList4);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestRemoveValue<4>\n");
        Profiler.BeginSample("TestBetterLinkedList.TestRemoveValue<4>");
        TestRemoveValue(mBetterLinkedList1, 4);
        TestRemoveValue(mBetterLinkedList2, mTestString[4]);
        TestRemoveValue(mBetterLinkedList3, mTestCustomStruct[4]);
        TestRemoveValue(mBetterLinkedList4, mTestCustomClass[4]);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestFind <4>\n");
        Profiler.BeginSample("TestBetterLinkedList.TestFind <4>");
        BetterLinkedListNode <int>          nodeInt    = TestFind(mBetterLinkedList1, 4);
        BetterLinkedListNode <string>       nodeString = TestFind(mBetterLinkedList2, mTestString[4]);
        BetterLinkedListNode <CustomStruct> nodeStruct = TestFind(mBetterLinkedList3, mTestCustomStruct[4]);
        BetterLinkedListNode <CustomClass>  nodeClass  = TestFind(mBetterLinkedList4, mTestCustomClass[4]);

        Profiler.EndSample();

        Debug.Log("nodeInt : " + nodeInt + "\n");
        Debug.Log("nodeString : " + nodeString + "\n");
        Debug.Log("nodeStruct : " + nodeStruct + "\n");
        Debug.Log("nodeClass : " + nodeClass + "\n");

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestFind <6>\n");
        Profiler.BeginSample("TestBetterLinkedList.TestFind <6>");
        nodeInt    = TestFind(mBetterLinkedList1, 6);
        nodeString = TestFind(mBetterLinkedList2, mTestString[6]);
        nodeStruct = TestFind(mBetterLinkedList3, mTestCustomStruct[6]);
        nodeClass  = TestFind(mBetterLinkedList4, mTestCustomClass[6]);
        Profiler.EndSample();

        Debug.Log("nodeInt : " + nodeInt.Value + "\n");
        Debug.Log("nodeString : " + nodeString.Value + "\n");
        Debug.Log("nodeStruct : " + nodeStruct.Value + "\n");
        Debug.Log("nodeClass : " + nodeClass.Value + "\n");

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestAddBefore\n");
        Profiler.BeginSample("TestBetterLinkedList.TestAddBefore");
        TestAddBefore(mBetterLinkedList1, nodeInt, 99);
        TestAddBefore(mBetterLinkedList2, nodeString, mTestString[99]);
        TestAddBefore(mBetterLinkedList3, nodeStruct, mTestCustomStruct[99]);
        TestAddBefore(mBetterLinkedList4, nodeClass, mTestCustomClass[99]);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestAddAfter\n");
        Profiler.BeginSample("TestBetterLinkedList.TestAddAfter");
        TestAddAfter(mBetterLinkedList1, nodeInt, 99);
        TestAddAfter(mBetterLinkedList2, nodeString, mTestString[99]);
        TestAddAfter(mBetterLinkedList3, nodeStruct, mTestCustomStruct[99]);
        TestAddAfter(mBetterLinkedList4, nodeClass, mTestCustomClass[99]);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestRemoveNode\n");
        Profiler.BeginSample("TestBetterLinkedList.TestRemoveNode");
        TestRemoveNode(mBetterLinkedList1, nodeInt);
        TestRemoveNode(mBetterLinkedList2, nodeString);
        TestRemoveNode(mBetterLinkedList3, nodeStruct);
        TestRemoveNode(mBetterLinkedList4, nodeClass);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestAddLast\n");
        Profiler.BeginSample("TestBetterLinkedList.TestAddLast");
        TestAddLast(mBetterLinkedList1, 98);
        TestAddLast(mBetterLinkedList2, mTestString[98]);
        TestAddLast(mBetterLinkedList3, mTestCustomStruct[98]);
        TestAddLast(mBetterLinkedList4, mTestCustomClass[98]);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestGetEnumerator\n");
        Profiler.BeginSample("TestBetterLinkedList.TestGetEnumerator");
        TestGetEnumerator(mBetterLinkedList1);
        TestGetEnumerator(mBetterLinkedList2);
        TestGetEnumerator(mBetterLinkedList3);
        TestGetEnumerator(mBetterLinkedList4);
        Profiler.EndSample();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestForeach\n");
        Profiler.BeginSample("TestBetterLinkedList.TestForeach");
        TestForeach(mBetterLinkedList1);
        TestForeach(mBetterLinkedList2);
        TestForeach(mBetterLinkedList3);
        TestForeach(mBetterLinkedList4);
        Profiler.EndSample();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestClear\n");
        Profiler.BeginSample("TestBetterLinkedList.TestClear");
        TestClear(mBetterLinkedList1);
        TestClear(mBetterLinkedList2);
        TestClear(mBetterLinkedList3);
        TestClear(mBetterLinkedList4);
        Profiler.EndSample();
        LogList();

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestAddLast\n");
        Profiler.BeginSample("TestBetterLinkedList.TestAddLast");
        for (int i = 50; i < 60; i++)
        {
            TestAddLast(mBetterLinkedList1, i);
            TestAddLast(mBetterLinkedList2, mTestString[i]);
            TestAddLast(mBetterLinkedList3, mTestCustomStruct[i]);
            TestAddLast(mBetterLinkedList4, mTestCustomClass[i]);
        }
        Profiler.EndSample();
        LogList();

        TestClear(mBetterLinkedList1);
        TestClear(mBetterLinkedList2);
        TestClear(mBetterLinkedList3);
        TestClear(mBetterLinkedList4);
        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestHugeAddFirst\n");
        Profiler.BeginSample("TestList.TestHugeAddFirst");
        for (int i = 0; i < 999; i++)
        {
            TestAddFirst(mBetterLinkedList1, i % 100);
            TestAddFirst(mBetterLinkedList2, mTestString[i % 100]);
            TestAddFirst(mBetterLinkedList3, mTestCustomStruct[i % 100]);
            TestAddFirst(mBetterLinkedList4, mTestCustomClass[i % 100]);
        }
        Profiler.EndSample();
        Debug.Log("mBetterLinkedList1 Count = " + mBetterLinkedList1.Count);
        Debug.Log("mBetterLinkedList2 Count = " + mBetterLinkedList2.Count);
        Debug.Log("mBetterLinkedList3 Count = " + mBetterLinkedList3.Count);
        Debug.Log("mBetterLinkedList4 Count = " + mBetterLinkedList4.Count);

        Debug.Log("\n*********************************\n");
        Debug.Log("TestBetterLinkedList.TestHugeClear\n");
        Profiler.BeginSample("TestList.TestHugeClear");
        TestClear(mBetterLinkedList1);
        TestClear(mBetterLinkedList2);
        TestClear(mBetterLinkedList3);
        TestClear(mBetterLinkedList4);
        Profiler.EndSample();
        LogList();
    }