public void GetAllEntriesSortedByHeadWord_CreateItemAfterFirstCall_EntryIsReturnedAndSortedInResultSet() { CreateEntryWithLexicalFormBeforeFirstQuery("de", "word 1"); _repository.GetAllEntriesSortedByHeadword(WritingSystemDefinitionForTest("de", SystemFonts.DefaultFont)); _repository.CreateItem(); ResultSet <LexEntry> results = _repository.GetAllEntriesSortedByHeadword(WritingSystemDefinitionForTest("de", SystemFonts.DefaultFont)); Assert.AreEqual(2, results.Count); Assert.AreEqual(null, results[0]["Form"]); Assert.AreEqual("word 1", results[1]["Form"]); }
/// <summary> /// Note, this isn't very ambitious. The only thing the new entry will have is the lexeme form and the new sense, not any other traits/fields /// </summary> /// <param name="repo"> </param> /// <param name="sense"></param> private static void SpinSenseOffToItsOwnEntry(LiftLexEntryRepository repo, LexSense sense, IProgress progress) { var existingEntry = (LexEntry) sense.Parent; progress.WriteMessage("Splitting off {0} ({1}) into its own entry", existingEntry.LexicalForm.GetFirstAlternative(), sense.Definition.GetFirstAlternative()); LexEntry newEntry = repo.CreateItem(); newEntry.LexicalForm.MergeIn(existingEntry.LexicalForm); existingEntry.Senses.Remove(sense); newEntry.Senses.Add(sense); sense.Parent = newEntry; repo.SaveItem(existingEntry); repo.SaveItem(newEntry); }
public void NewEntry_ByEntry_TriggersModifiedEntryAdded() { using (var f = new TemporaryFolder("eventTests")) { using (var r = new LiftLexEntryRepository(f.GetPathForNewTempFile(true))) { r.AfterEntryModified += OnEvent; LexEntry entry = r.CreateItem(); r.SaveItem(entry); Assert.IsTrue(_gotEventCall); } } }
/// <summary> /// Note, this isn't very ambitious. The only thing the new entry will have is the lexeme form and the new sense, not any other traits/fields /// </summary> /// <param name="repo"> </param> /// <param name="sense"></param> private static void SpinSenseOffToItsOwnEntry(LiftLexEntryRepository repo, LexSense sense, IProgress progress) { var existingEntry = (LexEntry)sense.Parent; progress.WriteMessage("Splitting off {0} ({1}) into its own entry", existingEntry.LexicalForm.GetFirstAlternative(), sense.Definition.GetFirstAlternative()); LexEntry newEntry = repo.CreateItem(); newEntry.LexicalForm.MergeIn(existingEntry.LexicalForm); existingEntry.Senses.Remove(sense); newEntry.Senses.Add(sense); sense.Parent = newEntry; repo.SaveItem(existingEntry); repo.SaveItem(newEntry); }
public void DeleteEntry_ByEntry_TriggersAfterEntryDeleted() { using (TemporaryFolder f = new TemporaryFolder("eventTests")) { using (LiftLexEntryRepository r = new LiftLexEntryRepository(f.GetPathForNewTempFile(true))) { r.AfterEntryDeleted += OnEvent; LexEntry entry = r.CreateItem(); r.SaveItem(entry); r.DeleteItem(entry); Assert.IsTrue(_gotEventCall); } } }