Ejemplo n.º 1
0
        public void ParallelAccessToSyncMethod()
        {
            var slowClass = new SlowClass();

            Parallel.For(0, numberOfTests, (i) =>
            {
                cache.BlitzGet(slowClass.ProcessQuickly);
            });


            Assert.AreEqual(1, slowClass.Counter);
        }
Ejemplo n.º 2
0
        public void TestMethod1()
        {
            ITracer tracer = new StackTracer();
            var     slow   = new SlowClass(tracer);

            slow.SuperSlow();
            var traceResult = tracer.GetTraceResult();

            Assert.IsNotNull(traceResult);
            Assert.AreEqual(1, traceResult.threads.Count,
                            string.Format("Expected {0} threads, instead got {1}", 1, traceResult.threads.Count));
        }
Ejemplo n.º 3
0
        public void DifferentKeysWillCallTheSyncMethodAgain()
        {
            var slowClass = new SlowClass();

            var key1 = Guid.NewGuid().ToString();

            Parallel.For(0, numberOfTests, (i) => { cache.BlitzGet(key1, slowClass.ProcessQuickly); });
            var key2 = Guid.NewGuid().ToString();

            Parallel.For(0, numberOfTests, (i) => { cache.BlitzGet(key2, slowClass.ProcessQuickly); });

            Assert.AreEqual(2, slowClass.Counter);
        }
Ejemplo n.º 4
0
        public static void Main(string[] args)
        {
            tracer = new StackTracer();
            Thread thread = new Thread(StartFastMethods);

            thread.Start();
            SlowClass slow = new SlowClass(tracer);

            slow.SuperSlow();
            thread.Join();

            Printer printer = new Printer();

            printer.AddSerializer(new JSONSerializerAdapter());
            printer.AddSerializer(new XMLSerializerAdapter());
            printer.AddStream(Console.OpenStandardOutput());
            printer.AddStream("output.txt");
            printer.Print(tracer.GetTraceResult());
        }
Ejemplo n.º 5
0
        public static void StartSlowMethods(object tracer)
        {
            SlowClass slow = new SlowClass(tracer as ITracer);

            slow.Slow();
        }