Example #1
0
        public void PerformaceMonitorTest()
        {
            using (var provider = new MemoryCacheProvider("Test").AsAsyncProvider())
            {
                var cacheService = new CacheService(provider);
                var monitor      = new CachePerformaceMonitor();
                cacheService.RegisterMonitor(monitor);


                Task.Run((Func <Task>)(async() =>
                {
                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));
                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));

                    await Task.Delay(TimeSpan.FromSeconds(3));
                    monitor.Stop();

                    Assert.AreEqual(monitor.Hits(), 1);
                    Assert.AreEqual(monitor.Misses(), 1);

                    Assert.AreEqual(monitor.Hits("Test"), 1);
                    Assert.AreEqual(monitor.Misses("Test"), 1);


                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));
                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));

                    await Task.Delay(TimeSpan.FromSeconds(3));
                    Assert.AreEqual(monitor.Hits(), 1);
                    Assert.AreEqual(monitor.Misses(), 1);

                    Assert.AreEqual(monitor.Hits("Test"), 1);
                    Assert.AreEqual(monitor.Misses("Test"), 1);

                    monitor.Start();

                    await Task.Delay(TimeSpan.FromSeconds(1));
                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));
                    await cacheService.FetchOrAdd <string>((string)"Test", (Func <Task <string> >)(() => (Task <string>)Task.Run((Func <string>)(() => (string)"Test"))), (Caching.CachePolicy)Caching.CachePolicy.Expires((TimeSpan)TimeSpan.FromHours((double)1)));
                    await Task.Delay(TimeSpan.FromSeconds(3));


                    Assert.AreEqual(monitor.Hits(), 3);
                    Assert.AreEqual(monitor.Misses(), 1);

                    Assert.AreEqual(monitor.Hits("Test"), 3);
                    Assert.AreEqual(monitor.Misses("Test"), 1);
                })
                         ).Wait();
            }
        }
Example #2
0
    public void PerformaceMonitorTest()
    {

      using ( var provider = new MemoryCacheProvider( "Test" ).AsAsyncProvider() )
      {
        var cacheService = new CacheService( provider );
        var monitor = new CachePerformaceMonitor();
        cacheService.RegisterMonitor( monitor );


        Task.Run( (Func<Task>) (async () =>
        {

          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );
          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );

          await Task.Delay( TimeSpan.FromSeconds( 3 ) );
          monitor.Stop();

          Assert.AreEqual( monitor.Hits(), 1 );
          Assert.AreEqual( monitor.Misses(), 1 );

          Assert.AreEqual( monitor.Hits( "Test" ), 1 );
          Assert.AreEqual( monitor.Misses( "Test" ), 1 );


          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );
          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );

          await Task.Delay( TimeSpan.FromSeconds( 3 ) );
          Assert.AreEqual( monitor.Hits(), 1 );
          Assert.AreEqual( monitor.Misses(), 1 );

          Assert.AreEqual( monitor.Hits( "Test" ), 1 );
          Assert.AreEqual( monitor.Misses( "Test" ), 1 );

          monitor.Start();

          await Task.Delay( TimeSpan.FromSeconds( 1 ) );
          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );
          await cacheService.FetchOrAdd<string>( (string) "Test", (Func<Task<string>>) (() => (Task<string>) Task.Run( (Func<string>) (() => (string) "Test") )), (Caching.CachePolicy) Caching.CachePolicy.Expires( (TimeSpan) TimeSpan.FromHours( (double) 1 ) ) );
          await Task.Delay( TimeSpan.FromSeconds( 3 ) );


          Assert.AreEqual( monitor.Hits(), 3 );
          Assert.AreEqual( monitor.Misses(), 1 );

          Assert.AreEqual( monitor.Hits( "Test" ), 3 );
          Assert.AreEqual( monitor.Misses( "Test" ), 1 );

        })
        ).Wait();

      }

    }