File size: 2,476 Bytes
18a519f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using NUnit.Framework;
using UnityEditor.Performance.ProfileAnalyzer;
using System.Collections.Generic;

public class ProfileDataAPITests : ProfileAnalyzerBaseTest
{
    [Test]
    public void ProfileData_AddMarkerName_AddsMarkerAndContainsName()
    {
        var data = new ProfileData();
        var markerNames = new List<string>()
        {
            "Marker01",
            "Marker02",
            "Marker03",
            "Marker04"
        };

        var markerList = new List<ProfileMarker>();
        for (int i = 0; i < 10; ++i)
        {
            var marker = new ProfileMarker()
            {
                msMarkerTotal = 0.5f,
                depth = i
            };

            int expectedIndex = i % markerNames.Count;
            data.AddMarkerName(markerNames[expectedIndex], marker);
            markerList.Add(marker);

            Assert.IsTrue(expectedIndex == marker.nameIndex, "Index mismatch at: " + i + " , " + marker.nameIndex);;
        }

        for (int i = 0; i < markerList.Count; ++i)
        {
            var curName = data.GetMarkerName(markerList[i]);
            Assert.IsTrue(markerNames.Contains(curName));
        }
    }

    [Test]
    public void ProfileData_AddThreadName_AddsThreadAndContainsName()
    {
        var data = new ProfileData();
        var threadNames = new List<string>()
        {
            "Thread01",
            "Thread02",
            "Thread03",
            "Thread04"
        };

        var threadDict = new Dictionary<string, ProfileThread>();
        for (int i = 0; i < 10; ++i)
        {
            int expectedIndex = i % threadNames.Count;
            string threadName = threadNames[expectedIndex];
            ProfileThread thread;

            if (!threadDict.TryGetValue(threadName, out thread))
            {
                thread = new ProfileThread();
                threadDict.Add(threadName, thread);
            }

            var marker = new ProfileMarker()
            {
                msMarkerTotal = 0.5f,
                depth = i
            };

            thread.markers.Add(marker);
            data.AddThreadName(threadName, thread);
            Assert.IsTrue(expectedIndex == thread.threadIndex, "Index mismatch at: " + i + " , " + thread.threadIndex);;
        }

        foreach (var curThread in threadDict)
        {
            var curName = data.GetThreadName(curThread.Value);
            Assert.IsTrue(threadNames.Contains(curName));
        }
    }
}