public void TestArinColumnTypes() { var parser = new WhoisParser(new SectionTokenizer(), new SectionParser()); var columns = parser.ColumnsPerType("arin.sample.txt"); CollectionAssert.AreEquivalent(new List <string>() { "ASHandle", "NetHandle", "OrgID", "POCHandle" }, columns.Keys, "The sample file should contain four types: ASHandle, NetHandle, OrgID, and POCHandle"); CollectionAssert.AreEquivalent(new List <string>() { "ASHandle", "OrgID", "ASName", "ASNumber", "RegDate", "Updated", "Source" }, columns["ASHandle"], "Columns were not extracted correctly for the ASHandle type"); CollectionAssert.AreEquivalent(new List <string>() { "NetHandle", "OrgID", "Parent", "NetName", "NetRange", "NetType", "RegDate", "Updated", "Source" }, columns["NetHandle"], "Columns were not extracted correctly for the NetHandle type"); CollectionAssert.AreEquivalent(new List <string>() { "OrgID", "OrgName", "CanAllocate", "Street", "City", "Country", "PostalCode", "State/Prov", "RegDate", "Updated", "OrgAdminHandle", "OrgAbuseHandle", "OrgTechHandle", "OrgNOCHandle", "Source" }, columns["OrgID"], "Columns were not extracted correctly for the OrgID type"); CollectionAssert.AreEquivalent(new List <string>() { "POCHandle", "IsRole", "LastName", "FirstName", "Street", "City", "State/Prov", "Country", "PostalCode", "RegDate", "Updated", "OfficePhone", "Mailbox", "Source" }, columns["POCHandle"], "Columns were not extracted correctly for the POCHandle type"); }