public void GetEntriesWithSimilarLexicalForm_EntriesWithDifferingWritingSystems_OnlyFindEntriesMatchingTheGivenWritingSystem() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { return e.LexicalForm; }); LexEntry lexEntryWithFrenchLexicalForm = env.Repository.CreateItem(); lexEntryWithFrenchLexicalForm.LexicalForm.SetAlternative("fr", "de Word2"); var ws = WritingSystemDefinitionForTest("de"); var matches = env.Repository.GetEntriesWithSimilarLexicalForm( "de Wor", ws, ApproximateMatcherOptions.IncludePrefixedForms); Assert.AreEqual(3, matches.Count); Assert.AreEqual("de Word1", matches[0]["Form"]); Assert.AreEqual("de Word2", matches[1]["Form"]); Assert.AreEqual("de Word3", matches[2]["Form"]); } }
public void GetEntriesWithSimilarLexicalForm_MultipleEntriesWithEqualAndLowestMatchingDistance_ReturnsThoseEntries() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { return e.LexicalForm; }); var ws = WritingSystemDefinitionForTest("de"); var matches = env.Repository.GetEntriesWithSimilarLexicalForm( "", ws, ApproximateMatcherOptions.IncludePrefixedForms); Assert.AreEqual(3, matches.Count); } }
public void GetAllEntriesSortedByDefinition_DefinitionAndGlossOfOneEntryAreIdentical_ReturnsOnlyOneRecordToken() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { e.Senses.Add(new LexSense()); return e.Senses[0].Definition; }); LexEntry lexEntryWithBothDefinitionAndAGloss = env.Repository.CreateItem(); lexEntryWithBothDefinitionAndAGloss.Senses.Add(new LexSense()); lexEntryWithBothDefinitionAndAGloss.Senses[0].Definition.SetAlternative("de", "de Word4"); lexEntryWithBothDefinitionAndAGloss.Senses[0].Gloss.SetAlternative("de", "de Word4"); var german = WritingSystemDefinitionForTest("de"); ResultSet<LexEntry> listOfLexEntriesSortedByDefinition = env.Repository.GetAllEntriesSortedByDefinitionOrGloss(german); Assert.AreEqual(4, listOfLexEntriesSortedByDefinition.Count); Assert.AreEqual("de Word1", listOfLexEntriesSortedByDefinition[0]["Form"]); Assert.AreEqual("de Word2", listOfLexEntriesSortedByDefinition[1]["Form"]); Assert.AreEqual("de Word3", listOfLexEntriesSortedByDefinition[2]["Form"]); Assert.AreEqual("de Word4", listOfLexEntriesSortedByDefinition[3]["Form"]); } }
public void GetAllEntriesSortedByDefinition_DefinitionsDoesNotExistInWritingSystemButGlossDoesForAllEntries_ReturnsListSortedByGloss() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { e.Senses.Add(new LexSense()); return e.Senses[0].Gloss; }); var german = WritingSystemDefinitionForTest("de"); ResultSet<LexEntry> listOfLexEntriesSortedByGloss = env.Repository.GetAllEntriesSortedByDefinitionOrGloss(german); Assert.AreEqual(3, listOfLexEntriesSortedByGloss.Count); Assert.AreEqual("de Word1", listOfLexEntriesSortedByGloss[0]["Form"]); Assert.AreEqual("de Word2", listOfLexEntriesSortedByGloss[1]["Form"]); Assert.AreEqual("de Word3", listOfLexEntriesSortedByGloss[2]["Form"]); } }
public void GetAllEntriesSortedByLexicalFormOrAlternative_LexicalFormExistsInWritingSystemForAllEntries_ReturnsListSortedByLexicalForm() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { return e.LexicalForm; }); var german = WritingSystemDefinitionForTest("de"); ResultSet<LexEntry> listOfLexEntriesSortedByLexicalForm = env.Repository.GetAllEntriesSortedByLexicalFormOrAlternative(german); Assert.AreEqual("de Word1", listOfLexEntriesSortedByLexicalForm[0]["Form"]); Assert.AreEqual("de Word2", listOfLexEntriesSortedByLexicalForm[1]["Form"]); Assert.AreEqual("de Word3", listOfLexEntriesSortedByLexicalForm[2]["Form"]); } }
public void GetAllEntriesSortedByHeadword_CitationFormInWritingSystemDoesNotExistButLexicalFormDoes_SortsByLexicalFormForThatEntry() { using (var env = new TestEnvironment()) { env.CreateThreeDifferentLexEntries(delegate(LexEntry e) { return e.CitationForm; }); LexEntry lexEntryWithOutGermanCitationForm = env.Repository.CreateItem(); lexEntryWithOutGermanCitationForm.CitationForm.SetAlternative("fr", "fr Word4"); lexEntryWithOutGermanCitationForm.LexicalForm.SetAlternative("de", "de Word0"); var german = WritingSystemDefinitionForTest("de"); ResultSet<LexEntry> listOfLexEntriesSortedByHeadWord = env.Repository.GetAllEntriesSortedByHeadword(german); Assert.AreEqual(4, listOfLexEntriesSortedByHeadWord.Count); Assert.AreEqual("de Word0", listOfLexEntriesSortedByHeadWord[0]["Form"]); Assert.AreEqual("de Word1", listOfLexEntriesSortedByHeadWord[1]["Form"]); Assert.AreEqual("de Word2", listOfLexEntriesSortedByHeadWord[2]["Form"]); Assert.AreEqual("de Word3", listOfLexEntriesSortedByHeadWord[3]["Form"]); } }