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)); }
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); }
public BackgroundAnalyticsService_StoreData() { BackgroundAnalyticsService.ClearQueue(); }