public void WordsWithoutGlosses()
        {
            const string input2 =
                @"\lx wordone
\lx wordtwo
\lx wordthree
";
            var mappings = new List <InterlinearMapping>();

            mappings.Add(new InterlinearMapping {
                Marker = "lx", Destination = InterlinDestination.Wordform, WritingSystem = "qaa-x-kal"
            });
            mappings.Add(new InterlinearMapping {
                Marker = "ge", Destination = InterlinDestination.WordGloss, WritingSystem = "en"
            });
            var wsf       = GetWsf();
            var input     = new ByteReader("input2", Encoding.UTF8.GetBytes(input2));
            var converter = new Sfm2FlexTextWordsFrag();
            var output    = converter.Convert(input, mappings, wsf);

            using (var outputStream = new MemoryStream(output))
            {
                using (var reader = new StreamReader(outputStream))
                {
                    var outputElt = XElement.Load(reader);
                    Assert.That(outputElt.Name.LocalName, Is.EqualTo("document"));
                    var words = outputElt.Elements("word").ToList();
                    Assert.That(words, Has.Count.EqualTo(3));
                    {
                        var word1    = words[0];
                        var txtItems = word1.XPathSelectElements("item[@type='txt']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        VerifyItem(word1, "./item[@type='txt']", "qaa-x-kal", "wordone");
                    }
                    {
                        var word2    = words[1];
                        var txtItems = word2.XPathSelectElements("item[@type='txt']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        VerifyItem(word2, "./item[@type='txt']", "qaa-x-kal", "wordtwo");
                    }
                    {
                        var word3    = words[2];
                        var txtItems = word3.XPathSelectElements("item[@type='txt']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        VerifyItem(word3, "./item[@type='txt']", "qaa-x-kal", "wordthree");
                    }
                }
            }
        }
        public void BasicConversion()
        {
            const string input1 =
                @"\lx glossedonce
\ge onlygloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-04T08:06:14Z

\lx glossedtwice
\ge firstgloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:06:14Z
\ge secondgloss
\del 1
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:06:29Z
\ddt 2012-06-07T08:49:08Z

\lx support a phrase
\ge phrase gloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:23:54Z
";
            var mappings = new List <InterlinearMapping>();

            mappings.Add(new InterlinearMapping {
                Marker = "lx", Destination = InterlinDestination.Wordform, WritingSystem = "qaa-x-kal"
            });
            mappings.Add(new InterlinearMapping {
                Marker = "ge", Destination = InterlinDestination.WordGloss, WritingSystem = "en"
            });
            var wsf       = GetWsf();
            var input     = new ByteReader("input1", Encoding.UTF8.GetBytes(input1));
            var converter = new Sfm2FlexTextWordsFrag();
            var output    = converter.Convert(input, mappings, wsf);

            using (var outputStream = new MemoryStream(output))
            {
                using (var reader = new StreamReader(outputStream))
                {
                    var outputElt = XElement.Load(reader);
                    Assert.That(outputElt.Name.LocalName, Is.EqualTo("document"));
                    var words = outputElt.Elements("word").ToList();
                    Assert.That(words, Has.Count.EqualTo(3));

                    {
                        var word1    = words[0];
                        var txtItems = word1.XPathSelectElements("item[@type='txt']").ToList();
                        var glsItems = word1.XPathSelectElements("item[@type='gls']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        Assert.That(glsItems, Has.Count.EqualTo(1));
                        VerifyItem(word1, "./item[@type='txt']", "qaa-x-kal", "glossedonce");
                        VerifyItem(word1, "./item[@type='gls']", "en", "onlygloss");
                    }

                    {
                        var word2    = words[1];
                        var txtItems = word2.XPathSelectElements("item[@type='txt']").ToList();
                        var glsItems = word2.XPathSelectElements("item[@type='gls']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        Assert.That(glsItems, Has.Count.EqualTo(2));
                        VerifyItem(word2, "./item[@type='txt']", "qaa-x-kal", "glossedtwice");
                        VerifyItem(word2, "./item[@type='gls'][1]", "en", "firstgloss");
                        VerifyItem(word2, "./item[@type='gls'][2]", "en", "secondgloss");
                    }

                    {
                        var word3    = words[2];
                        var txtItems = word3.XPathSelectElements("item[@type='txt']").ToList();
                        var glsItems = word3.XPathSelectElements("item[@type='gls']").ToList();
                        Assert.That(txtItems, Has.Count.EqualTo(1));
                        Assert.That(glsItems, Has.Count.EqualTo(1));
                        VerifyItem(word3, "./item[@type='txt']", "qaa-x-kal", "support a phrase");
                        VerifyItem(word3, "./item[@type='gls']", "en", "phrase gloss");
                    }
                }
            }
        }
예제 #3
0
		public void BasicConversion()
		{
			const string input1 =
@"\lx glossedonce
\ge onlygloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-04T08:06:14Z

\lx glossedtwice
\ge firstgloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:06:14Z
\ge secondgloss
\del 1
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:06:29Z
\ddt 2012-06-07T08:49:08Z

\lx support a phrase
\ge phrase gloss
\del 0
\wc Pyle:PYLEE-1007
\cdt 2012-06-05T08:23:54Z
";
			var mappings = new List<InterlinearMapping>();
			mappings.Add(new InterlinearMapping { Marker = "lx", Destination = InterlinDestination.Wordform, WritingSystem = "qaa-x-kal" });
			mappings.Add(new InterlinearMapping { Marker = "ge", Destination = InterlinDestination.WordGloss, WritingSystem = "en" });
			var wsf = GetWsf();
			var input = new ByteReader("input1", Encoding.UTF8.GetBytes(input1));
			var converter = new Sfm2FlexTextWordsFrag();
			var output = converter.Convert(input, mappings, wsf);
			using (var outputStream = new MemoryStream(output))
			{
				using (var reader = new StreamReader(outputStream))
				{
					var outputElt = XElement.Load(reader);
					Assert.That(outputElt.Name.LocalName, Is.EqualTo("document"));
					var words = outputElt.Elements("word").ToList();
					Assert.That(words, Has.Count.EqualTo(3));

					{
						var word1 = words[0];
						var txtItems = word1.XPathSelectElements("item[@type='txt']").ToList();
						var glsItems = word1.XPathSelectElements("item[@type='gls']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						Assert.That(glsItems, Has.Count.EqualTo(1));
						VerifyItem(word1, "./item[@type='txt']", "qaa-x-kal", "glossedonce");
						VerifyItem(word1, "./item[@type='gls']", "en", "onlygloss");
					}

					{
						var word2 = words[1];
						var txtItems = word2.XPathSelectElements("item[@type='txt']").ToList();
						var glsItems = word2.XPathSelectElements("item[@type='gls']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						Assert.That(glsItems, Has.Count.EqualTo(2));
						VerifyItem(word2, "./item[@type='txt']", "qaa-x-kal", "glossedtwice");
						VerifyItem(word2, "./item[@type='gls'][1]", "en", "firstgloss");
						VerifyItem(word2, "./item[@type='gls'][2]", "en", "secondgloss");
					}

					{
						var word3 = words[2];
						var txtItems = word3.XPathSelectElements("item[@type='txt']").ToList();
						var glsItems = word3.XPathSelectElements("item[@type='gls']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						Assert.That(glsItems, Has.Count.EqualTo(1));
						VerifyItem(word3, "./item[@type='txt']", "qaa-x-kal", "support a phrase");
						VerifyItem(word3, "./item[@type='gls']", "en", "phrase gloss");
					}
				}
			}
		}
예제 #4
0
		public void WordsWithoutGlosses()
		{
			const string input2 =
@"\lx wordone
\lx wordtwo
\lx wordthree
";
			var mappings = new List<InterlinearMapping>();
			mappings.Add(new InterlinearMapping { Marker = "lx", Destination = InterlinDestination.Wordform, WritingSystem = "qaa-x-kal" });
			mappings.Add(new InterlinearMapping { Marker = "ge", Destination = InterlinDestination.WordGloss, WritingSystem = "en" });
			var wsf = GetWsf();
			var input = new ByteReader("input2", Encoding.UTF8.GetBytes(input2));
			var converter = new Sfm2FlexTextWordsFrag();
			var output = converter.Convert(input, mappings, wsf);
			using (var outputStream = new MemoryStream(output))
			{
				using (var reader = new StreamReader(outputStream))
				{
					var outputElt = XElement.Load(reader);
					Assert.That(outputElt.Name.LocalName, Is.EqualTo("document"));
					var words = outputElt.Elements("word").ToList();
					Assert.That(words, Has.Count.EqualTo(3));
					{
						var word1 = words[0];
						var txtItems = word1.XPathSelectElements("item[@type='txt']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						VerifyItem(word1, "./item[@type='txt']", "qaa-x-kal", "wordone");
					}
					{
						var word2 = words[1];
						var txtItems = word2.XPathSelectElements("item[@type='txt']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						VerifyItem(word2, "./item[@type='txt']", "qaa-x-kal", "wordtwo");
					}
					{
						var word3 = words[2];
						var txtItems = word3.XPathSelectElements("item[@type='txt']").ToList();
						Assert.That(txtItems, Has.Count.EqualTo(1));
						VerifyItem(word3, "./item[@type='txt']", "qaa-x-kal", "wordthree");
					}

				}
			}
		}