Esempio n. 1
0
        public void RelationTaggedWthType_OutputsTypeForTagAndLexemeFormOfTarget()
        {
            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = "";
            settings.VernacularLanguageWritingSystemId = "bth";
            settings.EnglishLanguageWritingSystemId    = "en";
            _addin.Settings = settings;

            string contents =
                string.Format(
                    @"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
					  <relation type='composition' ref='one' />
			  </entry>
			  <entry id='one' >
				<lexical-unit>
				  <form lang='bth'>
					<text>lexemeOfOne</text>
				  </form>
				</lexical-unit>
				</entry>
			</lift>"            ,
                    Validator.LiftVersion);
            string result = GetResultFromAddin(contents);

            Console.WriteLine(result);
            Assert.IsTrue(result.Contains("\\lf composition = lexemeOfOne"));
        }
Esempio n. 2
0
        public void TagsPronunciationWithPh()
        {
            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = "";
            settings.VernacularLanguageWritingSystemId = "bth";
            settings.EnglishLanguageWritingSystemId    = "en";
            _addin.Settings = settings;

            string contents =
                string.Format(
                    @"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
				<lexical-unit>
				  <form lang='bth'>
					<text>bthform</text>
				  </form>
				</lexical-unit>
				<pronunciation>
				  <form lang='bth-fonipa'>
					<text>thePronunciation</text>
				  </form>
				</pronunciation>
			  </entry>
			</lift>"            ,
                    Validator.LiftVersion);

            string result = GetResultFromAddin(contents);

            Assert.IsTrue(result.Contains("\\lx bthform"));
            Assert.IsTrue(result.Contains("\\ph thePronunciation"));
        }
Esempio n. 3
0
		public void TagsPronunciationWithPh()
		{
			SfmTransformSettings settings = new SfmTransformSettings();
			settings.SfmTagConversions = "";
			settings.VernacularLanguageWritingSystemId = "bth";
			settings.EnglishLanguageWritingSystemId = "en";
			_addin.Settings = settings;

			string contents =
					string.Format(
							@"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
				<lexical-unit>
				  <form lang='bth'>
					<text>bthform</text>
				  </form>
				</lexical-unit>
				<pronunciation>
				  <form lang='bth-fonipa'>
					<text>thePronunciation</text>
				  </form>
				</pronunciation>
			  </entry>
			</lift>",
							Validator.LiftVersion);

			string result = GetResultFromAddin(contents);
			Assert.IsTrue(result.Contains("\\lx bthform"));
			Assert.IsTrue(result.Contains("\\ph thePronunciation"));
		}
Esempio n. 4
0
        public void UntypedRelationGetsCfTag()
        {
            /* um, relation without a type might not actually be valid lift */

            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = "";
            settings.VernacularLanguageWritingSystemId = "bth";
            settings.EnglishLanguageWritingSystemId    = "en";
            _addin.Settings = settings;

            string contents =
                string.Format(
                    @"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
					  <relation ref='ebo' />
			  </entry>
			</lift>"            ,
                    Validator.LiftVersion);

            string result = GetResultFromAddin(contents);

            Assert.IsTrue(result.Contains("\\lf unknown = ebo"));
        }
Esempio n. 5
0
        public void CrossReferenceWithNFD_OutputIsNFC()
        {
            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = "";
            settings.VernacularLanguageWritingSystemId = "bth";
            settings.EnglishLanguageWritingSystemId    = "en";
            _addin.Settings = settings;

            string contents =
                string.Format(
                    @"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='{1}'
				guid='d9c25d1f-d373-4995-9ffa-ae2cf650603c'>
				<lexical-unit>
				  <form lang='bth'>
					<text>{2}</text>
				  </form>
				</lexical-unit>
			  </entry>
			  <entry id='men_ebc7bf16-d322-4c3c-a4fd-3efdf8164eef'
				guid='ebc7bf16-d322-4c3c-a4fd-3efdf8164eef'>
				<lexical-unit>
				  <form lang='bth'>
					<text>men</text>
				  </form>
				</lexical-unit>
				<relation
						ref='{3}'
						type = 'confer' />
				</entry>
			</lift>"            ,
                    Validator.LiftVersion, "m\u00EB_d9c25d1f-d373-4995-9ffa-ae2cf650603c", "m\u00EB", "me\u0308_d9c25d1f-d373-4995-9ffa-ae2cf650603c");

            Console.WriteLine(contents);
            ViewTemplate template = WeSayWordsProject.Project.DefaultViewTemplate;

            template.GetField(Palaso.DictionaryServices.Model.LexEntry.WellKnownProperties.CrossReference).Enabled = true;
            string result = GetResultFromAddin(contents);

            Console.WriteLine(result);

            Regex regex = new Regex(@"\\lf\ confer\ =\ (.+)_([0-9a-f\-]+)", RegexOptions.Compiled);

            using (StringReader reader = new StringReader(result))
            {
                string line = reader.ReadLine();
                while (line != null)
                {
                    Assert.IsFalse(regex.IsMatch(line));
                    line = reader.ReadLine();
                }
                reader.Close();
            }

            Assert.IsTrue(result.Contains("\\lf confer = m\u00EB"));
            Assert.IsFalse(result.Contains("\\lf confer = me\u0308_d9c25d1f-d373-4995-9ffa-ae2cf650603c"));
        }
Esempio n. 6
0
        private string LaunchWithConversionString(string conversions)
        {
            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = conversions;
            _addin.Settings            = settings;
            return(LaunchAddin());
        }
Esempio n. 7
0
        public void Relation_TargetNotFoundOutputsId()
        {
            SfmTransformSettings settings = new SfmTransformSettings();

            settings.SfmTagConversions = "";
            settings.VernacularLanguageWritingSystemId = "bth";
            settings.EnglishLanguageWritingSystemId    = "en";
            _addin.Settings = settings;

            string contents =
                string.Format(
                    @"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='one' >
					  <relation type='composition' ref='id-of-missing' />
			  </entry>
			</lift>"            ,
                    Validator.LiftVersion);
            string result = GetResultFromAddin(contents);

            Assert.IsTrue(result.Contains("\\lf composition = id-of-missing"));
        }
Esempio n. 8
0
		private string LaunchWithConversionString(string conversions)
		{
			SfmTransformSettings settings = new SfmTransformSettings();
			settings.SfmTagConversions = conversions;
			_addin.Settings = settings;
			return LaunchAddin();
		}
Esempio n. 9
0
		public void Relation_TargetNotFoundOutputsId()
		{
			SfmTransformSettings settings = new SfmTransformSettings();
			settings.SfmTagConversions = "";
			settings.VernacularLanguageWritingSystemId = "bth";
			settings.EnglishLanguageWritingSystemId = "en";
			_addin.Settings = settings;

			string contents =
					string.Format(
							@"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='one' >
					  <relation type='composition' ref='id-of-missing' />
			  </entry>
			</lift>",
							Validator.LiftVersion);
			string result = GetResultFromAddin(contents);
			Assert.IsTrue(result.Contains("\\lf composition = id-of-missing"));
		}
Esempio n. 10
0
		public void RelationTaggedWthType_OutputsTypeForTagAndLexemeFormOfTarget()
		{
			SfmTransformSettings settings = new SfmTransformSettings();
			settings.SfmTagConversions = "";
			settings.VernacularLanguageWritingSystemId = "bth";
			settings.EnglishLanguageWritingSystemId = "en";
			_addin.Settings = settings;

			string contents =
					string.Format(
							@"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
					  <relation type='composition' ref='one' />
			  </entry>
			  <entry id='one' >
				<lexical-unit>
				  <form lang='bth'>
					<text>lexemeOfOne</text>
				  </form>
				</lexical-unit>
				</entry>
			</lift>",
							Validator.LiftVersion);
			string result = GetResultFromAddin(contents);
			Console.WriteLine(result);
			Assert.IsTrue(result.Contains("\\lf composition = lexemeOfOne"));
		}
Esempio n. 11
0
		public void UntypedRelationGetsCfTag()
		{
			/* um, relation without a type might not actually be valid lift */

			SfmTransformSettings settings = new SfmTransformSettings();
			settings.SfmTagConversions = "";
			settings.VernacularLanguageWritingSystemId = "bth";
			settings.EnglishLanguageWritingSystemId = "en";
			_addin.Settings = settings;

			string contents =
					string.Format(
							@"<?xml version='1.0' encoding='utf-8'?>
			<lift  version='{0}'>
			  <entry id='abo-abo_ID0ENG' >
					  <relation ref='ebo' />
			  </entry>
			</lift>",
							Validator.LiftVersion);

			string result = GetResultFromAddin(contents);
			Assert.IsTrue(result.Contains("\\lf unknown = ebo"));
		}