public ShowNotesViewModel(INotesProvider notesProvider, IInteractionService interactionService) { _notesProvider = notesProvider; _interactionService = interactionService; _interactionService.ItemClicked += SetFavorite; }
private void RelationSpecial() { Clear(); INotesProvider npro = Provider.NotesProvider; IRelationsProvider pro = Provider.RelationsProvider; string[] usernames = new string[] { "user" }; List <(int, string)> nodes = new List <(int, string)>(); Dictionary <int, HashSet <int> > adjs = new Dictionary <int, HashSet <int> >(); for (int i = 0; i < TestCount; i++) { Note data = new Note { Title = $"item {i}", Content = $"item content {i}", CategoryId = null, }; string username = random.Choice(usernames); int? tid = npro.Create(data, username).Result; Assert.IsTrue(tid.HasValue, "create failed"); nodes.Add((tid.Value, username)); adjs.Add(tid.Value, new HashSet <int>()); } for (int i = 0; i < TestCount; i++) { Relation data = new Relation { From = random.Choice(nodes).Item1, To = random.Choice(nodes).Item1, }; string username = random.Choice(usernames); { int?tid = pro.Create(data, username).Result; Assert.IsTrue(tid.HasValue, "create failed"); adjs[data.From].Add(data.To); adjs[data.To].Add(data.From); } } foreach ((int id, string user) in nodes) { IEnumerable <Relation> actual = pro.GetAdjacents(id, user).Result; CollectionAssert.AreEquivalent(adjs[id].ToArray(), new HashSet <int>(actual.Select(x => x.From ^ x.To ^ id)).ToArray()); } foreach ((int id, string user) in nodes) { pro.ClearAdjacents(id, user).Wait(); Assert.IsFalse(pro.GetAdjacents(id, user).Result.Any()); } }
public Notes(IContext context) { var notesDir = context.DocumentDirectory.CatDir("Notes"); notesDir.EnsureDirectoryExists(); var dropboxNotesDir = Sidi.IO.Paths.GetFolderPath(System.Environment.SpecialFolder.UserProfile).CatDir("Dropbox", "hagen", "Notes"); _notesProvider = new MultiNotesProvider(new[] { notesDir, dropboxNotesDir }.Where(_ => _.IsDirectory) .Select(_ => new FileSystemWatcherNotesProvider(_)).ToArray()); }
private void NoteFailed() { string username = random.Choice(usernames); Provider.CategoriesProvider.Clear(username).Wait(); INotesProvider pro = Provider.NotesProvider; Assert.IsNull(pro.Create(new Note { Title = null }, username).Result, "node name is null"); Assert.IsNull(pro.Create(new Note { Title = "" }, username).Result, "node name is empty"); Assert.IsNull(pro.Create(new Note { Title = "a", CategoryId = 0 }, username).Result, "no this tag but create node"); }
private void NoteBasic() { INotesProvider pro = Provider.NotesProvider; Clear(); for (int i = 0; i < TestCount; i++) { Note data = new Note { Title = $"item {i}", Content = $"item content {i}", CategoryId = null, }; string username = random.Choice(usernames); data.UserId = username; Assert.AreEqual(data, data.Clone(), "clone failed"); int id; { int?tid = pro.Create(data, username).Result; Assert.IsTrue(tid.HasValue, "create failed"); id = tid.Value; Assert.IsNotNull(pro.Get(id, username), "get after create failed"); Note actual = pro.Get(id, username).Result; Valid(actual, username); data.Id = id; Assert.AreEqual(data.Title, actual.Title, "get failed"); Assert.AreEqual(data.Content, actual.Content, "get failed"); } { data.Title = $"item {i} update"; data.Content = $"item {i} update"; data.Id = random.Next(); Assert.AreEqual(id, pro.Update(id, data, username).Result, "update failed"); IEnumerable <Note> items = pro.Query(id, data.Title, data.Content, null, null, null, null, null, null, username).Result; Assert.AreEqual(1, items.Count(), "query failed"); Note actual = items.First(); Valid(actual, username); data.Id = id; Assert.AreEqual(data.Title, actual.Title, "query failed"); Assert.AreEqual(data.Content, actual.Content, "query failed"); } if (random.NextDouble() < DeleteRate) { Assert.IsNotNull(pro.Delete(id, username).Result, "delete failed"); Assert.IsNull(pro.Get(id, username).Result, "get after delete failed"); } } foreach (string user in usernames) { IEnumerable <Note> items = pro.GetAll(user).Result; foreach (Note v in items) { Valid(v, user); } } }
private void RelationBasic() { Clear(); INotesProvider npro = Provider.NotesProvider; IRelationsProvider pro = Provider.RelationsProvider; string[] usernames = new string[] { "user" }; List <int> nodes = new List <int>(); for (int i = 0; i < TestCount; i++) { Note data = new Note { Title = $"item {i}", Content = $"item content {i}", CategoryId = null, }; string username = random.Choice(usernames); int? tid = npro.Create(data, username).Result; Assert.IsTrue(tid.HasValue, "create failed"); nodes.Add(tid.Value); } for (int i = 0; i < TestCount; i++) { Relation data = new Relation { From = random.Choice(nodes), To = random.Choice(nodes), }; string username = random.Choice(usernames); Assert.AreEqual(data, data.Clone()); int id; { int?tid = pro.Create(data, username).Result; Assert.IsTrue(tid.HasValue, "create failed"); id = tid.Value; Assert.IsNotNull(pro.Get(id, username), "get after create failed"); Relation actual = pro.Get(id, username).Result; Valid(actual, username); data.Id = id; Assert.AreEqual(data, actual, "get failed"); Assert.AreEqual(data.GetHashCode(), actual.GetHashCode(), "get failed"); } { data.From = random.Choice(nodes); data.To = random.Choice(nodes); data.Id = random.Next(); Assert.AreEqual(id, pro.Update(id, data, username).Result, "update failed"); IEnumerable <Relation> items = pro.Query(id, data.From, data.To, username).Result; Assert.AreEqual(1, items.Count(), "query failed"); Relation actual = items.First(); Valid(actual, username); data.Id = id; Assert.AreEqual(data, actual, "query failed"); } if (random.NextDouble() < DeleteRate) { Assert.IsNotNull(pro.Delete(id, username).Result, "delete failed"); Assert.IsNull(pro.Get(id, username).Result, "get after delete failed"); } } foreach (string user in usernames) { IEnumerable <Relation> items = pro.GetAll(user).Result; foreach (Relation v in items) { Valid(v, user); } } }
public CreateNoteViewModel(INotesProvider notesProvider) { _notesProvider = notesProvider; }
public FavoriteNotesViewModel(INotesProvider notesProvider) { _notesProvider = notesProvider; }
public NotesController(INotesProvider notesProvider, INotesProcessor notesProcessor) { _notesProvider = notesProvider; _notesProcessor = notesProcessor; }
internal Notes(INotesProvider notesProvider) { _notesProvider = notesProvider; }
public NotesController(IDataProvider provider, IIdentityDataGetter identityDataGetter) { this.provider = provider.NotesProvider; this.identityDataGetter = identityDataGetter; }