public void GetHomographNumber_3SameLexicalFormsAnd3OtherLexicalForms_Returns123() { using (var env = new TestEnvironment()) { LexEntry red1 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "red"); LexEntry blue1 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry red2 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "red"); LexEntry blue2 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry red3 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "red"); LexEntry blue3 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); Assert.AreEqual(1, env.Repository.GetHomographNumber(blue1, env.HeadwordWritingSystem)); Assert.AreEqual(3, env.Repository.GetHomographNumber(blue3, env.HeadwordWritingSystem)); Assert.AreEqual(2, env.Repository.GetHomographNumber(blue2, env.HeadwordWritingSystem)); Assert.AreEqual(1, env.Repository.GetHomographNumber(red1, env.HeadwordWritingSystem)); Assert.AreEqual(3, env.Repository.GetHomographNumber(red3, env.HeadwordWritingSystem)); Assert.AreEqual(2, env.Repository.GetHomographNumber(red2, env.HeadwordWritingSystem)); } }
public void GetHomographNumber_3SameLexicalForms_Returns123() { using (var env = new TestEnvironment()) { LexEntry entry1 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry entry2 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry entry3 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); Assert.AreEqual(1, env.Repository.GetHomographNumber(entry1, env.HeadwordWritingSystem)); Assert.AreEqual(3, env.Repository.GetHomographNumber(entry3, env.HeadwordWritingSystem)); Assert.AreEqual(2, env.Repository.GetHomographNumber(entry2, env.HeadwordWritingSystem)); } }
public void GetHomographNumber_ThirdEntry_Returns3() { using (var env = new TestEnvironment()) { LexEntry entryOther = env.MakeEntryWithLexemeForm("en", "blue"); Assert.AreNotEqual("en", env.HeadwordWritingSystem.LanguageTag); LexEntry entry1 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry entry2 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry entry3 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); Assert.AreEqual(3, env.Repository.GetHomographNumber(entry3, env.HeadwordWritingSystem)); Assert.AreEqual(2, env.Repository.GetHomographNumber(entry2, env.HeadwordWritingSystem)); Assert.AreEqual(1, env.Repository.GetHomographNumber(entry1, env.HeadwordWritingSystem)); } }
public void GetHomographNumber_AssignesUniqueNumbers() { using (var env = new TestEnvironment()) { LexEntry entryOther = env.MakeEntryWithLexemeForm("en", "blue"); Assert.AreNotEqual("en", env.HeadwordWritingSystem.LanguageTag); LexEntry[] entries = new LexEntry[3]; entries[0] = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); entries[1] = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); entries[2] = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); List<int> ids = new List<int>(entries.Length); foreach (LexEntry entry in entries) { int homographNumber = env.Repository.GetHomographNumber(entry, env.HeadwordWritingSystem); Assert.IsFalse(ids.Contains(homographNumber)); ids.Add(homographNumber); } } }
public void GetHomographNumber_SecondEntry_Returns2() { using (var env = new TestEnvironment()) { env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); LexEntry entry2 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); Assert.AreEqual(2, env.Repository.GetHomographNumber(entry2, env.HeadwordWritingSystem)); } }
public void GetHomographNumber_FirstEntryWithFollowingHomograph_Returns1() { using (var env = new TestEnvironment()) { LexEntry entry1 = env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); env.MakeEntryWithLexemeForm(env.HeadwordWritingSystem.LanguageTag, "blue"); Assert.AreEqual(1, env.Repository.GetHomographNumber(entry1, env.HeadwordWritingSystem)); } }