public void NewEntryGetsLexemeForm() { ILexEntry e = MakeSimpleEntry(); SimpleMultiText forms = new SimpleMultiText(); forms.Add("fr", "hello"); forms.Add("ur", "bye"); _merger.MergeInLexemeForm(e, forms); // Assert.AreEqual(2, e.LexemeFormOA.Count); }
//hack: our parser would need send us more than a simple SimpleMultiText to encode these private void MergeIn(MultiStringAccessor multiString, SimpleMultiText forms) { if (forms != null && forms.Keys != null) { foreach (string key in forms.Keys) { int wsHvo = GetWsFromLiftLang(key); multiString.SetAlternative(forms[key], wsHvo); } } }
public void WritingSystemFromLiftLang() { ILexEntry e = MakeSimpleEntry(); SimpleMultiText forms = new SimpleMultiText(); forms.Add("fr", "french_form"); forms.Add("ur", "urdu_form"); _merger.MergeInLexemeForm(e, forms); Assert.AreEqual("french_form", e.LexemeFormOA.Form.GetAlternative(_frenchId)); Assert.AreEqual("urdu_form", e.LexemeFormOA.Form.GetAlternative(_urduId)); }
public void LexemeFormTakesAffixTypeOfFirstAlt() { ILexEntry e = MakeSimpleEntry(); SimpleMultiText forms = new SimpleMultiText(); forms.Add("fr", "-sfx"); forms.Add("ur", "stem"); _merger.MergeInLexemeForm(e, forms); Assert.AreEqual(typeof(MoAffixAllomorph), e.LexemeFormOA.GetType()); Assert.AreEqual("-", e.LexemeFormOA.MorphTypeRA.Prefix); Assert.AreEqual("sfx", e.LexemeFormOA.Form.VernacularDefaultWritingSystem); }
public void NewWritingSystemAlternativeHandled() { ILexEntry e = MakeSimpleEntry(); SimpleMultiText forms = new SimpleMultiText(); forms.Add("x99", "x99_form"); _merger.MergeInLexemeForm(e, forms); int newWsId = Cache.LanguageEncodings.GetWsFromIcuLocale("x99"); Assert.AreNotEqual(0, newWsId); Assert.AreEqual("x99_form", e.LexemeFormOA.Form.GetAlternative(newWsId)); }
private void MergeIn(MultiUnicodeAccessor multiText, SimpleMultiText forms) { if (forms != null && forms.Keys != null) { foreach (string key in forms.Keys) { int wsHvo = GetWsFromLiftLang(key); if (wsHvo > 0) { multiText.SetAlternative(forms[key], wsHvo); } } } // multiText.MergeIn(MultiText.Create(forms)); }
public void MergeInLexemeForm(ILexEntry entry, SimpleMultiText forms) { if (entry.LexemeFormOA == null) { //base the type on the first form string form = forms.FirstValue.Value; //<---HACK. What to do here? if (form == null) { return; } //TODO!!!!!!!!!!!!!!!!!!!!! beware ws order assumption here: entry.LexemeFormOA = MoForm.MakeMorph(_cache, entry, form); } // now merge in the rest MergeIn(entry.LexemeFormOA.Form, forms); }
public void MergeInDefinition(ILexSense sense, SimpleMultiText simpleMultiText) { throw new NotImplementedException(); }
public void MergeInTranslationForm(ILexExampleSentence example, SimpleMultiText forms) { //MergeIn(example.TranslationsOC, forms); }
public void MergeInExampleForm(ILexExampleSentence example, SimpleMultiText forms) { MergeIn(example.Example, forms); }
public void MergeInGloss(ILexSense sense, SimpleMultiText forms) { MergeIn(sense.Gloss, forms); }