public void MMSavedVariableReader_GetEsoGuildStoreSales_GuildTimestampFilter() { for (int i = 0; i < 16; i++) { string testFileName = string.Format(TestFilePathFormat, i); // Arrange var reader = new MMSavedVariableReader(testFileName); // Choose a recent enough timestamp that the prefix will have no records with prefixes higher than it. // This allows us to do a straight up grep search by timestamp prefix to get the expected count. var filter = new EsoSaleFilter { GuildName = "Ethereal Traders Union", TimestampMinimum = 1424900000 }; string timestampSubstring = string.Format("[\"timestamp\"] = {0}", filter.TimestampMinimum / 100000); string guildSubstring = string.Format("[\"guild\"] = \"{0}\"", filter.GuildName); int expectedSaleCount = CountLuaTablesWithLines(testFileName, timestampSubstring, guildSubstring); // Act // TODO: Performance tune. Possibly ditch full Lua parsing. // TODO: Full data file scan is fine to take a long time, but filtered scans should be faster than this currently performs. List <EsoSale> sales = reader.GetEsoGuildStoreSales(filter); // Assert if (expectedSaleCount != sales.Count) { Assert.Fail("Expected {0} sales in {1}, but found {2}", expectedSaleCount, testFileName, sales.Count); } } }
public void MMSavedVariableReader_GetEsoGuildStoreSales_TimestampFilter() { for (int i = 0; i < 16; i++) { string testFileName = string.Format(TestFilePathFormat, i); // Arrange var reader = new MMSavedVariableReader(testFileName); // Choose a recent enough timestamp that the prefix will have no records with prefixes higher than it. // This allows us to do a straight up grep search by timestamp prefix to get the expected count. var filter = new EsoSaleFilter { TimestampMinimum = 1424900000 }; string searchString = string.Format("[\"timestamp\"] = {0}", filter.TimestampMinimum / 100000); int expectedSaleCount = CountLuaTablesWithLines(testFileName, searchString); // Act List <EsoSale> sales = reader.GetEsoGuildStoreSales(filter); // Assert if (expectedSaleCount != sales.Count) { Assert.Fail("Expected {0} sales in {1}, but found {2}", expectedSaleCount, testFileName, sales.Count); } } }