public async Task Should_Filter_The_Csv_File_Correctly() { string csvFileUrl = "https://beezupcdn.blob.core.windows.net/recruitment/bigfile.csv"; ILogger <CsvReaderService> logger = Substitute.For <ILogger <CsvReaderService> >(); ICsvFilterService csvFilter; ICsvReaderService csvReaderService = new CsvReaderService(logger); IAsyncEnumerable <ParsedCsvRow> filteredRows; using (IReader csvReader = await csvReaderService.GetCsvReaderAsync(csvFileUrl)) { Assert.NotNull(csvReader); if (csvReader != null) { csvFilter = new CsvFilterService(); filteredRows = csvFilter.FilterCsvOnSumAsync(csvReader); await foreach (ParsedCsvRow row in filteredRows) { Assert.False(string.IsNullOrEmpty(row.Type)); Assert.True(Enum.IsDefined(typeof(ParsingResult), row.Type)); if (row.Type == Enum.GetName(typeof(ParsingResult), ParsingResult.ok)) { Assert.True(row.SumCD > 100); Assert.True(string.IsNullOrEmpty(row.ErrorMessage)); } if (row.Type == Enum.GetName(typeof(ParsingResult), ParsingResult.error)) { Assert.Null(row.SumCD); Assert.False(string.IsNullOrEmpty(row.ErrorMessage)); } } } } }