public void RemoveWithFilter() { ContactStore store = new ContactStore(); Contact c1_with_id = store.Add(Contact.Create("fn1", "ln1", "street1", "city1", "st1", "zip1")); Contact c2_with_id = store.Add(Contact.Create("fn2", "ln2", "street2", "city2", "st2", "zip2")); Contact c3_with_id = store.Add(Contact.Create("fn3", "ln3", "street3", "city3", "st3", "zip3")); Contact c4_with_id = store.Add(Contact.Create("fn4", "ln4", "street4", "city4", "st4", "zip4")); Contact c5_with_id = store.Add(Contact.Create("fn5", "ln5", "street5", "city5", "st5", "zip5")); Contact c6_with_id = store.Add(Contact.Create("fn6", "ln6", "street6", "city6", "st6", "zip6")); Contact c7_with_id = store.Add(Contact.Create("fn7", "ln7", "street7", "city7", "st7", "zip7")); Assert.AreEqual(7, store.Contacts.Count()); Contact removed; ContactFieldFilter filterFN = new ContactFieldFilter(); filterFN.SetFirstName("fn1"); Assert.IsTrue(store.Remove(filterFN, out removed)); Assert.AreEqual(1, removed.ID.Value); ContactFieldFilter filterLN = new ContactFieldFilter(); filterLN.SetLastName("ln2"); Assert.IsTrue(store.Remove(filterLN, out removed)); Assert.AreEqual(2, removed.ID.Value); ContactFieldFilter filterStreet = new ContactFieldFilter(); filterStreet.SetStreetAddress("street3"); Assert.IsTrue(store.Remove(filterStreet, out removed)); Assert.AreEqual(3, removed.ID.Value); ContactFieldFilter filterCity = new ContactFieldFilter(); filterCity.SetCity("city4"); Assert.IsTrue(store.Remove(filterCity, out removed)); Assert.AreEqual(4, removed.ID.Value); ContactFieldFilter filterState = new ContactFieldFilter(); filterState.SetState("st5"); Assert.IsTrue(store.Remove(filterState, out removed)); Assert.AreEqual(5, removed.ID.Value); ContactFieldFilter filterZip = new ContactFieldFilter(); filterZip.SetPostalCode("zip6"); Assert.IsTrue(store.Remove(filterZip, out removed)); Assert.AreEqual(6, removed.ID.Value); ContactFieldFilter filterId = new ContactFieldFilter(); filterId.SetID(7); Assert.IsTrue(store.Remove(filterId, out removed)); Assert.AreEqual(7, removed.ID.Value); Assert.AreEqual(0, store.Contacts.Count()); }
public static ContactFieldFilter FilterFromArgs(IReadOnlyDictionary <string, string> args) { ContactFieldFilter filter = new ContactFieldFilter(); foreach (KeyValuePair <string, string> pair in args) { switch (pair.Key.ToLower()) { case "id": int id; if (int.TryParse(pair.Value, out id)) { filter.SetID(id); } else { Log.Error("Unable to parse ID - must be an integer"); } break; case "f": case "fn": case "first": case "firstname": filter.SetFirstName(pair.Value); break; case "l": case "ln": case "last": case "lastname": filter.SetLastName(pair.Value); break; case "str": case "street": filter.SetStreetAddress(pair.Value); break; case "c": case "cty": case "city": filter.SetCity(pair.Value); break; case "stt": case "state": filter.SetState(pair.Value); break; case "pc": case "postal": case "postalcode": case "zip": filter.SetPostalCode(pair.Value); break; default: break; } } return(filter); }
public void RemoveWithFilterNoMatch() { ContactStore store = new ContactStore(); Contact c1_with_id = store.Add(Contact.Create("fn1", "ln1", "street1", "city1", "st1", "zip1")); Contact c2_with_id = store.Add(Contact.Create("fn2", "ln2", "street2", "city2", "st2", "zip2")); ContactFieldFilter filter = new ContactFieldFilter(); filter.SetID(5); Contact removed; Assert.IsFalse(store.Remove(filter, out removed)); }
public void Search_Missing() { ContactStore store = new ContactStore(); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); ContactFieldFilter filter = new ContactFieldFilter(); filter.SetID(7); Assert.AreEqual(0, store.Search(filter).Count()); }
public void Search_ID() { ContactStore store = new ContactStore(); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); store.Add(Contact.Create("x", "x", "x", "x", "x", "x")); ContactFieldFilter filter = new ContactFieldFilter(); filter.SetID(3); CollectionAssert.AreEqual( new List <int> { 3 }, store.Search(filter).Select(c => c.ID).ToList()); }