Ejemplo n.º 1
0
        public void AddData_Should_BeInQueue()
        {
            BackgroundAnalyticsService backgroundAnalyticsService = new BackgroundAnalyticsService();
            string content = "some content";

            backgroundAnalyticsService.StoreData(DateTimeOffset.UtcNow, content);

            Assert.NotNull(BackgroundAnalyticsService.ReadQueue().FirstOrDefault(d => d.Content == content));
        }
Ejemplo n.º 2
0
        public async Task MultiThread_AddData_Should_BeInQueue()
        {
            int numberOfThreads = 30000;

            Task[] tasks = new Task[numberOfThreads];

            for (int i = 0; i < tasks.Length; i++)
            {
                BackgroundAnalyticsService backgroundAnalyticsService = new BackgroundAnalyticsService();
                string content = $"some content from thread {i}";
                tasks[i] = Task.Factory.StartNew(() => backgroundAnalyticsService.StoreData(DateTimeOffset.UtcNow, content));
            }

            await Task.WhenAll(tasks);

            Assert.Equal(numberOfThreads, BackgroundAnalyticsService.ReadQueue().Count);
        }
Ejemplo n.º 3
0
 public BackgroundAnalyticsService_StoreData()
 {
     BackgroundAnalyticsService.ClearQueue();
 }