MockBookmarkManager.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System;
 6  using System.Collections.Generic;
 7  using Microsoft.CmdPal.Ext.Bookmarks.Persistence;
 8  
 9  namespace Microsoft.CmdPal.Ext.Bookmarks.UnitTests;
10  
11  #pragma warning disable CS0067
12  
13  internal sealed class MockBookmarkManager : IBookmarksManager
14  {
15      private readonly List<BookmarkData> _bookmarks;
16  
17      public event Action<BookmarkData> BookmarkAdded;
18  
19      public event Action<BookmarkData, BookmarkData> BookmarkUpdated;
20  
21      public event Action<BookmarkData> BookmarkRemoved;
22  
23      public IReadOnlyCollection<BookmarkData> Bookmarks => _bookmarks;
24  
25      public BookmarkData Add(string name, string bookmark) => throw new NotImplementedException();
26  
27      public bool Remove(Guid id) => throw new NotImplementedException();
28  
29      public BookmarkData Update(Guid id, string name, string bookmark) => throw new NotImplementedException();
30  
31      public MockBookmarkManager(params IEnumerable<BookmarkData> bookmarks)
32      {
33          _bookmarks = [.. bookmarks];
34      }
35  }