public void PriceTest2() { for (int x = 0; x < 2; x++) { for (int y = 0; y < 1000; y++) { string[] fields = null; var lines = File.ReadLines(Path.Combine(Directory.GetCurrentDirectory(), "price.csv")); int lineCount = File.ReadAllLines(Path.Combine(Directory.GetCurrentDirectory(), "price.csv")).Length; if (y > lineCount - 1) { break; } var line = new List <string>(lines)[y]; TextFieldParser parser = new TextFieldParser(new StringReader(line)); parser.HasFieldsEnclosedInQuotes = true; parser.SetDelimiters(","); fields = parser.ReadFields(); using (Price price = new Price(x == 0 ? _legacySourcePath : _modernSourcePath)) { if (fields[0].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceRecd, ComparisonType.EqualTo, fields[0]); } if (fields[1].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceSite, ComparisonType.EqualTo, Convert.ToInt32(fields[1])); } if (fields[2].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceCode, ComparisonType.EqualTo, fields[2]); } if (!fields[3].Contains("1900")) { price.AddFilterCriteria(Price.PriceFields.PriceDate, ComparisonType.EqualTo, DateTime.Parse(fields[3])); } if (fields[4].Contains(":")) { price.AddFilterCriteria(Price.PriceFields.PriceTod, ComparisonType.EqualTo, fields[4]); } if (fields[5].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceFrom, ComparisonType.EqualTo, Convert.ToDecimal(fields[5])); } if (fields[6].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceTo, ComparisonType.EqualTo, Convert.ToDecimal(fields[6])); } if (fields[7].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceSetBy, ComparisonType.EqualTo, fields[7]); } if (fields[8].Length > 0) { price.AddFilterCriteria(Price.PriceFields.PriceAction, ComparisonType.EqualTo, Convert.ToInt32(fields[8])); } var priceList = price.PriceList(); if (priceList.Count == 0) { Assert.Fail("Match failed on line: " + (y + 1).ToString()); } } } } Assert.IsTrue(true, "PriceTest2 Passed!!"); }