/// <summary> /// Edit an object from the list after been deserialized and write the new list to a binary file. /// <typeparam name="bool">The boolean type if an objected is edited from the list and the new list is written to a file with the new edited object function will return true</typeparam> /// </summary> /// <param name="entry">The PhoneEntryModel instance object.</param> /// <returns>boolean value true if the entry passed as parameter is edited from the file and false if the entry with that id doesnt exists in the file.</returns> public bool Edit(PhoneEntryModel entry) { lock (_sysObject) { var phoneEntries = GetAll().ToList(); if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (!phoneEntries.Any(x => x.Id == entry.Id)) { return(false); } for (int i = 0; i < phoneEntries.Count; i++) { if (phoneEntries[i].Id == entry.Id) { phoneEntries[i] = entry; break; } } WriteToBinaryFile <List <PhoneEntryModel> >(Constants.FilePath, phoneEntries, false); return(true); } }
public void AddEntryNullException() { BinaryFileManager binaryFile = new BinaryFileManager(); PhoneEntryModel model = new PhoneEntryModel(); model = null; Assert.Throws <ArgumentNullException>(() => { throw new ArgumentNullException(); }); }
public void DeleteEntryFromPhoneBook() { PhoneEntryModel model = new PhoneEntryModel { Id = 1, FirstName = "Kristi", LastName = "Mone", PhoneNumber = "+355682024896", EntryType = PhoneEntryType.WORK }; var binaryFileManager = new BinaryFileManager(); var result = binaryFileManager.Delete(model); Assert.IsTrue(result && !binaryFileManager.GetAll().Any(x => x.Id == model.Id)); }
public void EditEntryToPhoneBook() { BinaryFileManager binaryFile = new BinaryFileManager(); PhoneEntryModel model = new PhoneEntryModel { Id = 3, FirstName = "Endi", LastName = "Koci", PhoneNumber = "+355682024896", EntryType = PhoneEntryType.WORK }; var result = binaryFile.Edit(model); Assert.IsTrue(result == true && binaryFile.GetAll().Any(x => x.FirstName.Equals("Endi") && x.LastName.Equals("Koci"))); }
public void AddEntryToPhoneBook() { BinaryFileManager binaryFile = new BinaryFileManager(); PhoneEntryModel model = new PhoneEntryModel { Id = 4, FirstName = "Mario", LastName = "Coku", PhoneNumber = "+355682024896", EntryType = PhoneEntryType.WORK }; binaryFile.Add(model); Assert.IsTrue(binaryFile.GetAll().Any(x => x.FirstName.Equals("Mario") && x.LastName.Equals("Coku"))); }
public void DeleteEntryDifferentId_FromFile() { BinaryFileManager binaryFile = new BinaryFileManager(); var phoneEntries = binaryFile.GetAll(); PhoneEntryModel model = new PhoneEntryModel { Id = 7, FirstName = "Orges", LastName = "Kreka", PhoneNumber = "+355682323896", EntryType = PhoneEntryType.WORK }; if (!phoneEntries.Any(x => x.Id == model.Id)) { Assert.IsFalse(false); } }
public void AddEntryToPhoneBookReturnFalse() { BinaryFileManager binaryFile = new BinaryFileManager(); PhoneEntryModel model = new PhoneEntryModel { Id = 4, FirstName = "Mario", LastName = "Coku", PhoneNumber = "+355682024896", EntryType = PhoneEntryType.WORK }; var phoneEntries = binaryFile.GetAll(); if (phoneEntries.Any(x => x.Id == model.Id)) { Assert.IsFalse(false); } }
/// <summary> /// /// Add an object to the list and write the list to a binary file. /// <typeparam name="bool">The boolean type if an objected is added to the list and the list is written to the binary file function will return true</typeparam> /// </summary> /// <param name="entry">The PhoneEntryModel instance object.</param> /// <returns>boolean value true if the entry passed as parameter is added to the file and false if the entry with that id exists in the file.</returns> public bool Add(PhoneEntryModel entry) { lock (_sysObject) { var phoneEntries = GetAll().ToList(); if (entry == null) { throw new ArgumentNullException(nameof(entry)); } if (phoneEntries.Any(x => x.Id == entry.Id)) { return(false); } phoneEntries.Add(entry); WriteToBinaryFile <List <PhoneEntryModel> >(Constants.FilePath, phoneEntries, false); return(true); } }
public void AddEntriesAndCheckIfListContainsThem() { var entry1 = new PhoneEntryModel { Id = 1, FirstName = "Kristi", LastName = "Mone", PhoneNumber = "+355682456321", EntryType = PhoneEntryType.CELLPHONE }; var entry2 = new PhoneEntryModel { Id = 2, FirstName = "Orges", LastName = "Kreka", PhoneNumber = "+355696054698", EntryType = PhoneEntryType.WORK }; var entry3 = new PhoneEntryModel { Id = 3, FirstName = "Ermal", LastName = "Arapi", PhoneNumber = "+35542235205", EntryType = PhoneEntryType.HOME }; BinaryFileManager binaryFile = new BinaryFileManager(); binaryFile.Add(entry1); binaryFile.Add(entry2); binaryFile.Add(entry3); var result = binaryFile.GetAll(); Assert.IsTrue(result[0].Equals(entry1) && result[1].Equals(entry2) && result[2].Equals(entry3)); }