public void DataIsCorrectlyParsed(string testingFilePath, string ticker, Resolution resolution, string startDate, string endDate) { //Arrange var expectedData = File.ReadAllLines(testingFilePath) .Skip(count: 1) // Skip headers. .Select(x => x.Split(',')) .ToArray(); var symbol = Symbol.Create(ticker, SecurityType.Base, Market.FXCM); var startUtc = Parse.DateTimeExact(startDate, "yyyy-MM-dd"); var endUtc = Parse.DateTimeExact(endDate, "yyyy-MM-dd"); //Act var actualData = _downloader.Get(symbol, resolution, startUtc, endUtc).Cast <FxcmVolume>().ToArray(); //Assert Assert.AreEqual(expectedData.Length, actualData.Length); for (var i = 0; i < expectedData.Length - 1; i++) { Assert.AreEqual(expectedData[i][0], actualData[i].Time.ToStringInvariant("yyyy/MM/dd HH:mm")); Assert.AreEqual(expectedData[i][1], actualData[i].Value.ToString(CultureInfo.InvariantCulture)); Assert.AreEqual(expectedData[i][2], actualData[i].Transactions.ToString(CultureInfo.InvariantCulture)); } }