Example #1
0
        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);
        }
Example #2
0
 //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);
         }
     }
 }
Example #3
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #6
0
 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));
 }
Example #7
0
        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);
        }
Example #8
0
 public void MergeInDefinition(ILexSense sense, SimpleMultiText simpleMultiText)
 {
     throw new NotImplementedException();
 }
Example #9
0
 public void MergeInTranslationForm(ILexExampleSentence example, SimpleMultiText forms)
 {
     //MergeIn(example.TranslationsOC, forms);
 }
Example #10
0
 public void MergeInExampleForm(ILexExampleSentence example, SimpleMultiText forms)
 {
     MergeIn(example.Example, forms);
 }
Example #11
0
 public void MergeInGloss(ILexSense sense, SimpleMultiText forms)
 {
     MergeIn(sense.Gloss, forms);
 }
Example #12
0
		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);
		}
Example #13
0
		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);
		}
Example #14
0
		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));
		}
Example #15
0
		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));
		}