public void InsertAndRemove() { Assert.DoesNotThrow(delegate { PhoneNumber phoneNumber = new PhoneNumber(); PhoneNumberCollection phoneNumberCollection = new PhoneNumberCollection(); phoneNumberCollection.Add(phoneNumber); phoneNumber = phoneNumberCollection[0]; phoneNumberCollection[0] = phoneNumber; phoneNumberCollection.Remove(phoneNumber); }); }
/// <summary> /// Gets the phone numbers from the details array /// </summary> /// <returns>A <see cref="PhoneNumberCollection"/></returns> private static PhoneNumberCollection ParseTelephoneNumbers() { PhoneNumberCollection phoneNumberCollection = new PhoneNumberCollection(); var telStrings = _contactDetails.Where(s => s.StartsWith("TEL")); foreach (string telString in telStrings) { string phoneString = telString.Replace("TEL;", "").Replace("TEL:", ""); //Remove multiple typing if (phoneString.Contains(";")) { int index = phoneString.LastIndexOf(";"); phoneString = phoneString.Remove(0, index + 1); } //Logic if (phoneString.StartsWith("CELL")) { phoneString = phoneString.Replace(";VOICE", ""); phoneString = phoneString.Replace("CELL:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Cell }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("HOME")) { phoneString = phoneString.Replace(";VOICE", ""); phoneString = phoneString.Replace("HOME:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Home }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("WORK")) { phoneString = phoneString.Replace(";VOICE", ""); phoneString = phoneString.Replace("WORK:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Work }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("VOICE:")) { phoneString = phoneString.Replace("VOICE:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Voice }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("FAX")) { phoneString = phoneString.Replace("FAX:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Fax }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("TEXTPHONE")) { phoneString = phoneString.Replace("TEXTPHONE:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Fax }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("TEXT")) { phoneString = phoneString.Replace("TEXT:", ""); PhoneNumber phoneNumber = new PhoneNumber(); phoneNumber.Number = phoneString; phoneNumber.Type = PhoneNumberType.Text; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("VIDEO")) { phoneString = phoneString.Replace("VIDEO:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Video }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("PAGER")) { phoneString = phoneString.Replace("PAGER:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Pager }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("MAIN-NUMBER")) { phoneString = phoneString.Replace("MAIN-NUMBER:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Fax }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("BBS")) { phoneString = phoneString.Replace("BBS:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Pager }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("CAR")) { phoneString = phoneString.Replace("CAR:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Pager }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("MODEM")) { phoneString = phoneString.Replace("MODEM:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Pager }; phoneNumberCollection.Add(phoneNumber); } else if (phoneString.StartsWith("ISDN")) { phoneString = phoneString.Replace("ISDN:", ""); PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.Pager }; phoneNumberCollection.Add(phoneNumber); } else { PhoneNumber phoneNumber = new PhoneNumber { Number = phoneString, Type = PhoneNumberType.None }; phoneNumberCollection.Add(phoneNumber); } } return(phoneNumberCollection); }