コード例 #1
0
            public void MultiThreadTimeTest()
            {
                tracer = new Tracer.Tracer();
                var threadList = new List <Thread>();

                for (int i = 0; i < 3; i++)
                {
                    Thread thread = new Thread(TestPattern);
                    threadList.Add(thread);
                    thread.Start();
                }
                foreach (Thread thread in threadList)
                {
                    thread.Join();
                }
                long actualtime = 0;

                for (int i = 0; i < 3; i++)
                {
                    actualtime += tracer.GetTraceResult().Threads[i].Time;
                }
                long expected = waittime * 3;

                Assert.IsTrue(actualtime >= expected);
            }
コード例 #2
0
            public void OneMethodTimeTest()
            {
                tracer = new Tracer.Tracer();
                TestPattern();
                long actualtime = tracer.GetTraceResult().Threads[0].Time;
                long expected   = waittime;

                Assert.IsTrue(actualtime >= expected);
            }
コード例 #3
0
            public void OneInAnotherTimeTest()
            {
                tracer = new Tracer.Tracer();
                tracer.StartTrace();
                Thread.Sleep(waittime);
                TestPattern();
                tracer.StopTrace();
                long actualtime = tracer.GetTraceResult().Threads[0].Time;
                long expected   = waittime * 2;

                Assert.IsTrue(actualtime >= expected);
            }
コード例 #4
0
 public void OneInAnotherTest()
 {
     tracer = new Tracer.Tracer();
     tracer.StartTrace();
     Thread.Sleep(waittime);
     TestPattern();
     tracer.StopTrace();
     Assert.AreEqual(tracer.GetTraceResult().Threads.Count, 1);
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods.Count, 1);
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods[0].InsideMethods.Count, 1);
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods[0].Name, "OneInAnotherTest");
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods[0].ClassName, "TracerTests");
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods[0].InsideMethods[0].Name, "TestPattern");
     Assert.AreEqual(tracer.GetTraceResult().Threads[0].InsideMethods[0].InsideMethods[0].ClassName, "TracerTests");
 }
コード例 #5
0
            public void MultiThreadTest()
            {
                tracer = new Tracer.Tracer();
                var threadList = new List <Thread>();

                for (int i = 0; i < 4; i++)
                {
                    Thread thread = new Thread(TestPattern);
                    threadList.Add(thread);
                    thread.Start();
                }
                foreach (Thread thread in threadList)
                {
                    thread.Join();
                }
                Assert.AreEqual(tracer.GetTraceResult().Threads.Count, 4);
                for (int i = 0; i < 4; i++)
                {
                    Assert.AreEqual(tracer.GetTraceResult().Threads[i].InsideMethods.Count, 1);
                }
            }
コード例 #6
0
        static void Main()
        {
            Tracer.Tracer tracer = new Tracer.Tracer();
            Class1        c1     = new Class1(tracer);
            Class2        c2     = new Class2(tracer);

            c2.f1();
            c1.f2();
            c1.f1();
            c2.f2();
            Thread thread = new Thread(new ParameterizedThreadStart(Some));

            thread.Start(tracer);
            Thread.Sleep(1000);

            IOutput iOutput = new ConsoleOut();

            iOutput.Serializer = new TraceResultJsonSerialize();
            iOutput.Write(tracer.GetTraceResult());

            iOutput            = new FileOut();
            iOutput.Serializer = new TraceResultXMLSerialize();
            iOutput.Write(tracer.GetTraceResult());
        }
コード例 #7
0
ファイル: Class2.cs プロジェクト: Ushiramaru/Tracer
 public Class2(Tracer.Tracer tracer)
 {
     _tracer = tracer;
 }