public bool Includes(Table expectedTable) { foreach (var exRow in expectedTable.Hashes()) { bool hasMatchingRow = false; foreach (var acRow in this.Hashes()) { foreach (var key in exRow.Keys) { if (exRow[key] == acRow[key]) { hasMatchingRow = true; } else { hasMatchingRow = false; break; } } if (hasMatchingRow) break; } if (!hasMatchingRow) return false; } return true; }
public bool Includes(Table expectedTable) { foreach (var exRow in expectedTable.Hashes()) { bool hasMatchingRow = false; foreach (var acRow in this.Hashes()) { foreach (var key in exRow.Keys) { if (exRow[key] == acRow[key]) { hasMatchingRow = true; } else { hasMatchingRow = false; break; } } if (hasMatchingRow) { break; } } if (!hasMatchingRow) { return(false); } } return(true); }
public void HashesShouldTreatFirstRowAsHeaders() { Table table = new Table(); table.Data.Add(new List<string> { "item", "count" }); table.Data.Add(new List<string> { "cucumbers", "3" }); table.Data.Add(new List<string> { "bananas", "5" }); table.Data.Add(new List<string> { "tomatoes", "2" }); var hashes = table.Hashes(); Assert.That(hashes.Count, Is.EqualTo(3)); Assert.That(hashes[0].Keys, Has.Member("item")); Assert.That(hashes[0].Keys, Has.Member("count")); Assert.That(hashes[1]["item"], Is.EqualTo("bananas")); }
public void NinjaWithExperience(Table table) { List<Dictionary<string, string>> hashes = table.Hashes(); Dictionary<String, String> ninjaProperties = hashes[0]; ninja = new Ninja(ninjaProperties["belt_level"]); }