public void AddEntryThreadSafety()
        {
            var binaryFileManager = new BinaryFileManager();

            var listOfTasks = new List <Task>();

            var entries = binaryFileManager.GetAll();

            foreach (var item in entries)
            {
                binaryFileManager.Delete(item);
            }

            var listOfObjects = new List <PhoneEntryModel>
            {
                new PhoneEntryModel
                {
                    Id          = 1,
                    FirstName   = "Kristi",
                    LastName    = "Mone",
                    PhoneNumber = "+355682024896",
                    EntryType   = PhoneEntryType.WORK
                },

                new PhoneEntryModel
                {
                    Id          = 2,
                    FirstName   = "Orges",
                    LastName    = "Kreka",
                    PhoneNumber = "+355682024896",
                    EntryType   = PhoneEntryType.WORK
                },
                new PhoneEntryModel
                {
                    Id          = 3,
                    FirstName   = "Ermal",
                    LastName    = "Arapi",
                    PhoneNumber = "+355682024896",
                    EntryType   = PhoneEntryType.WORK
                }
            };

            foreach (var model in listOfObjects)
            {
                var addTask = new Task <bool>(() => binaryFileManager.Add(model));
                listOfTasks.Add(addTask);
            }

            listOfTasks.ForEach(x => x.Start());
            Task.WaitAll(listOfTasks.ToArray());

            var tmp = binaryFileManager.GetAll();

            Assert.IsTrue(tmp.Count == listOfObjects.Count);
        }
        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));
        }
        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")));
        }
示例#4
0
        static void Main(string[] args)
        {
            var binaryFileManager = new BinaryFileManager();

            if (!binaryFileManager.CreateFile())
            {
                Console.WriteLine("Gabim gjate krijimit te skedarit");
                return;
            }

            binaryFileManager.Add(new PhoneEntryModel
            {
                Id          = 1,
                FirstName   = "Kristi",
                LastName    = "Mone",
                PhoneNumber = "+355682024896",
                EntryType   = PhoneEntryType.WORK
            });


            binaryFileManager.Add(new PhoneEntryModel
            {
                Id          = 2,
                FirstName   = "Ermal",
                LastName    = "Arapi",
                PhoneNumber = "+355695231205",
                EntryType   = PhoneEntryType.CELLPHONE
            });

            binaryFileManager.Add(new PhoneEntryModel
            {
                Id          = 3,
                FirstName   = "Mario",
                LastName    = "Coku",
                PhoneNumber = "+355692465823",
                EntryType   = PhoneEntryType.CELLPHONE
            });

            binaryFileManager.Add(new PhoneEntryModel
            {
                Id          = 4,
                FirstName   = "Gerta",
                LastName    = "Mone",
                PhoneNumber = "+35568602345698",
                EntryType   = PhoneEntryType.WORK
            });

            binaryFileManager.Add(new PhoneEntryModel
            {
                Id          = 5,
                FirstName   = "Elektra",
                LastName    = "Myrto",
                PhoneNumber = "+35542236894",
                EntryType   = PhoneEntryType.HOME
            });


            binaryFileManager.Edit(new PhoneEntryModel
            {
                Id          = 4,
                FirstName   = "Endi",
                LastName    = "Koci",
                PhoneNumber = "+35542354693",
                EntryType   = PhoneEntryType.HOME
            });

            binaryFileManager.Delete(new PhoneEntryModel
            {
                Id          = 2,
                FirstName   = "Ermal",
                LastName    = "Arapi",
                PhoneNumber = "+355695231205",
                EntryType   = PhoneEntryType.CELLPHONE
            });


            foreach (var item in binaryFileManager.Iterate(true))
            {
                Console.WriteLine(item);
            }

            foreach (var item in binaryFileManager.Iterate(false))
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }