示例#1
0
        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"]);
        }
示例#2
0
		/// <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);
		}
示例#3
0
 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);
         }
     }
 }
		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);
				}
			}
		}
示例#5
0
        /// <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);
        }
示例#6
0
        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);
                }
            }
        }
		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);
				}
			}
		}