Bloom.Collection.BookCollection.InsertBookInfo C# (CSharp) Method

InsertBookInfo() public method

Insert a book into the appropriate place. If there is already a book with the same FolderPath, replace it.
public InsertBookInfo ( BookInfo bookInfo ) : void
bookInfo Bloom.Book.BookInfo
return void
        public void InsertBookInfo(BookInfo bookInfo)
        {
            IComparer<string> comparer = new NaturalSortComparer<string>();
            for (int i = 0; i < _bookInfos.Count; i++)
            {
                var compare = comparer.Compare(_bookInfos[i].FolderPath, bookInfo.FolderPath);
                if (compare == 0)
                {
                    _bookInfos[i] = bookInfo; // Replace
                    return;
                }
                if (compare > 0)
                {
                    _bookInfos.Insert(i, bookInfo);
                    return;
                }
            }
            _bookInfos.Add(bookInfo);
        }

Usage Example

 public void InsertBook_NotPresent_InsertsInEmptyList()
 {
     var infoNew = new BookInfo("book11", true);
     var state = new List<BookInfo>();
     var collection = new BookCollection(state);
     collection.InsertBookInfo(infoNew);
     Assert.That(state[0], Is.EqualTo(infoNew), "book info should be inserted between book10 and book20");
 }
All Usage Examples Of Bloom.Collection.BookCollection::InsertBookInfo