using System; using System.Collections.Generic; using AddressSolution.AddressRules; using AddressSolution.Dao; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace AddressSolution.Test { [TestClass] public class UnitTest1 { [TestMethod] public void CanReadExcelFile() { List<string> addressList = new ExcelDao().GetExcel(); Assert.IsNotNull(addressList); } [TestMethod] public void CanParsedAddress() { List<string> addressList = new ExcelDao().GetExcel(); List<string> parsedAddress = new ParseAddress().Parse(addressList); Assert.AreEqual(addressList.Count, parsedAddress.Count); } [TestMethod] public void CanVerifyAddressWithOneComma() { string addressLine = "4059 FARNSWORTH CRES MISSISSAUGA ON, L5L3Z4"; Assert.AreEqual("4059 FARNSWORTH CRES MISSISSAUGA ON, L5L3Z4", addressLine); Assert.AreEqual("4059", RuleStreetNumber.GetStreetNumber(addressLine)); Assert.AreEqual("FARNSWORTH", RuleStreetName.GetStreetName(addressLine)); Assert.AreEqual("CRES", RuleStreetType.GetStreetType(addressLine)); Assert.AreEqual("", RuleStreetDirection.GetStreetDirection(addressLine)); Assert.AreEqual("", RuleSuite.GetSuite(addressLine)); Assert.AreEqual("MISSISSAUGA", RuleMunicipality.GetMunicipality(addressLine)); Assert.AreEqual("ON", RuleProvince.GetProvince(addressLine)); Assert.AreEqual("L5L3Z4", RulePostalCode.GetPostalCode(addressLine)); } [TestMethod] public void CanVerifyAddressWithCommas() { string addressLine = "4059 FARNSWORTH CRES, MISSISSAUGA ON, L5L3Z4"; Assert.AreEqual("4059 FARNSWORTH CRES, MISSISSAUGA ON, L5L3Z4", addressLine); Assert.AreEqual("4059", RuleStreetNumber.GetStreetNumber(addressLine)); Assert.AreEqual("FARNSWORTH", RuleStreetName.GetStreetName(addressLine)); Assert.AreEqual("CRES", RuleStreetType.GetStreetType(addressLine)); Assert.AreEqual("", RuleStreetDirection.GetStreetDirection(addressLine)); Assert.AreEqual("", RuleSuite.GetSuite(addressLine)); Assert.AreEqual("MISSISSAUGA", RuleMunicipality.GetMunicipality(addressLine)); Assert.AreEqual("ON", RuleProvince.GetProvince(addressLine)); Assert.AreEqual("L5L3Z4", RulePostalCode.GetPostalCode(addressLine)); } [TestMethod] public void CanVerifyAddressWithTightCommas() { string addressLine = "4059 FARNSWORTH CRES,MISSISSAUGA ON,L5L3Z4"; Assert.AreEqual("4059 FARNSWORTH CRES,MISSISSAUGA ON,L5L3Z4", addressLine); Assert.AreEqual("4059", RuleStreetNumber.GetStreetNumber(addressLine)); Assert.AreEqual("FARNSWORTH", RuleStreetName.GetStreetName(addressLine)); Assert.AreEqual("CRES", RuleStreetType.GetStreetType(addressLine)); Assert.AreEqual("", RuleStreetDirection.GetStreetDirection(addressLine)); Assert.AreEqual("", RuleSuite.GetSuite(addressLine)); Assert.AreEqual("MISSISSAUGA", RuleMunicipality.GetMunicipality(addressLine)); Assert.AreEqual("ON", RuleProvince.GetProvince(addressLine)); Assert.AreEqual("L5L3Z4", RulePostalCode.GetPostalCode(addressLine)); } [TestMethod] public void CanVerifyAddressWithNoCommas() { string addressLine = "621 BRITANNIA DR SW CALGARY AB T2S1S2"; Assert.AreEqual("621 BRITANNIA DR SW CALGARY AB T2S1S2", addressLine); Assert.AreEqual("621", RuleStreetNumber.GetStreetNumber(addressLine)); Assert.AreEqual("BRITANNIA", RuleStreetName.GetStreetName(addressLine)); Assert.AreEqual("DR", RuleStreetType.GetStreetType(addressLine)); Assert.AreEqual("SW", RuleStreetDirection.GetStreetDirection(addressLine)); Assert.AreEqual("", RuleSuite.GetSuite(addressLine)); Assert.AreEqual("CALGARY", RuleMunicipality.GetMunicipality(addressLine)); Assert.AreEqual("AB", RuleProvince.GetProvince(addressLine)); Assert.AreEqual("T2S1S2", RulePostalCode.GetPostalCode(addressLine)); } [TestMethod] public void CanVerifyAddressWithExtraSpaces() { string addressLine = "4059 FARNSWORTH CRES MISSISSAUGA ON L5L3Z4"; Assert.AreEqual("4059 FARNSWORTH CRES MISSISSAUGA ON L5L3Z4", addressLine); Assert.AreEqual("4059", RuleStreetNumber.GetStreetNumber(addressLine)); Assert.AreEqual("FARNSWORTH", RuleStreetName.GetStreetName(addressLine)); Assert.AreEqual("CRES", RuleStreetType.GetStreetType(addressLine)); Assert.AreEqual("", RuleStreetDirection.GetStreetDirection(addressLine)); Assert.AreEqual("", RuleSuite.GetSuite(addressLine)); Assert.AreEqual("MISSISSAUGA", RuleMunicipality.GetMunicipality(addressLine)); Assert.AreEqual("ON", RuleProvince.GetProvince(addressLine)); Assert.AreEqual("L5L3Z4", RulePostalCode.GetPostalCode(addressLine)); } } }