示例#1
0
        public void IsAttachedCliticTest()
        {
            myCache = Loader.CreateCache();
            var extractor = new FLExDBExtractor(myCache);

            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphBoundRoot, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphBoundStem, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphCircumfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphDiscontiguousPhrase, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphInfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphInfixingInterfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphParticle, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphPhrase, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphPrefix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphPrefixingInterfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphRoot, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphSimulfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphStem, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphSuffix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphSuffixingInterfix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphSuprafix, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphClitic, 1));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphClitic, 2));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphEnclitic, 1));
            Assert.IsTrue(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphEnclitic, 2));
            Assert.IsFalse(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphProclitic, 1));
            Assert.IsTrue(extractor.IsAttachedClitic(MoMorphTypeTags.kguidMorphProclitic, 2));
        }
示例#2
0
        public void ExtractTextSegmentAsANATest()
        {
            myCache = Loader.CreateCache();
            Assert.IsNotNull(myCache);
            Assert.AreEqual(ProjId.UiName, myCache.ProjectId.UiName);
            Assert.AreEqual(26, myCache.LangProject.AllPartsOfSpeech.Count);
            Assert.AreEqual(335, myCache.LangProject.LexDbOA.Entries.Count());
            Assert.AreEqual(7, myCache.LangProject.InterlinearTexts.Count);
            var    extractor    = new FLExDBExtractor(myCache);
            var    text         = myCache.LangProject.InterlinearTexts.Where(t => t.Title.BestAnalysisAlternative.Text == "Part 4").First();
            var    paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(3);
            var    segment      = paragraph.SegmentsOS.First();
            String segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            String expectedANA  = ExpectedSegmentAsANA("WeWantToGetMarriedAndBeHappy.ana");

            Assert.AreEqual(expectedANA, segmentAsANA);
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(7);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("ItIsHardToPickUpTheDullBrokenGlass.ana");
            Assert.AreEqual(expectedANA, segmentAsANA);

            text         = myCache.LangProject.InterlinearTexts.Where(t => t.Title.BestAnalysisAlternative.Text == "Multi-morphemic").First();
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(0);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("ISeeTwoTrees.ana");
            //Console.WriteLine("ana='" + segmentAsANA + "'");
            Assert.AreEqual(expectedANA, segmentAsANA);
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(1);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("ISeeTheTreesColor.ana");
            //Console.WriteLine("ana='" + segmentAsANA + "'");
            Assert.AreEqual(expectedANA, segmentAsANA);
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(2);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("ThePreturntablesAreBetterThanTheProturntables.ana");
            //Console.WriteLine("ana='" + segmentAsANA + "'");
            Assert.AreEqual(expectedANA, segmentAsANA);
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(3);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("SiPro.ana");
            //Console.WriteLine("ana='" + segmentAsANA + "'");
            Assert.AreEqual(expectedANA, segmentAsANA);

            text = myCache.LangProject.InterlinearTexts.Where(t => t.Title.BestAnalysisAlternative.Text ==
                                                              "Testing for dual-sense bug").First();
            paragraph    = (IStTxtPara)text.ParagraphsOS.ElementAt(0);
            segment      = paragraph.SegmentsOS.First();
            segmentAsANA = extractor.ExtractTextSegmentAsANA(segment);
            expectedANA  = ExpectedSegmentAsANA("BahBook.ana");
            //Console.WriteLine("ana='" + segmentAsANA + "'");
            Assert.AreEqual(expectedANA, segmentAsANA);
        }
示例#3
0
        public void GetOrComputeWordCategoryTest()
        {
            myCache = Loader.CreateCache();
            var extractor = new FLExDBExtractor(myCache);
            var wordCat   = extractor.GetOrComputeWordCategory(null);

            Assert.AreEqual("", wordCat);

            var text      = myCache.LangProject.InterlinearTexts.Where(t => t.Title.BestAnalysisAlternative.Text == "Multi-morphemic").First();
            var paragraph = (IStTxtPara)text.ParagraphsOS.ElementAt(1);
            var segment   = paragraph.SegmentsOS.First();
            var analysis  = segment.AnalysesRS.ElementAtOrDefault(3);
            var wordform  = analysis.Wordform;            // trees

            Assert.AreEqual(2, wordform.AnalysesOC.Count);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(0));
            Assert.AreEqual("n", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(1));
            Assert.AreEqual("n", wordCat);
            analysis = segment.AnalysesRS.ElementAtOrDefault(7);
            wordform = analysis.Wordform;             // booksi
            Assert.AreEqual(1, wordform.AnalysesOC.Count);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(0));
            Assert.AreEqual("n", wordCat);

            paragraph = (IStTxtPara)text.ParagraphsOS.ElementAt(2);
            segment   = paragraph.SegmentsOS.First();
            analysis  = segment.AnalysesRS.ElementAtOrDefault(0);
            wordform  = analysis.Wordform;            // the
            wordCat   = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(0));
            Assert.AreEqual("art", wordCat);
            analysis = segment.AnalysesRS.ElementAtOrDefault(1);
            wordform = analysis.Wordform;             // preturntables
            Assert.AreEqual(2, wordform.AnalysesOC.Count);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(0));
            Assert.AreEqual("n", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(1));
            Assert.AreEqual("n", wordCat);
            analysis = segment.AnalysesRS.ElementAtOrDefault(2);
            wordform = analysis.Wordform;             // are
            Assert.AreEqual(5, wordform.AnalysesOC.Count);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(0));
            Assert.AreEqual("v", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(1));
            Assert.AreEqual("v", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(2));
            Assert.AreEqual("v", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(3));
            Assert.AreEqual("v", wordCat);
            wordCat = extractor.GetOrComputeWordCategory(wordform.AnalysesOC.ElementAtOrDefault(4));
            Assert.AreEqual("aux", wordCat);
        }
示例#4
0
        public void ExtractLexiconTest()
        {
            myCache = Loader.CreateCache();
            Assert.IsNotNull(myCache);
            Assert.AreEqual(ProjId.UiName, myCache.ProjectId.UiName);
            Assert.AreEqual(26, myCache.LangProject.AllPartsOfSpeech.Count);
            Assert.AreEqual(335, myCache.LangProject.LexDbOA.Entries.Count());
            var    extractor = new FLExDBExtractor(myCache);
            String lexicon   = extractor.ExtractPcPatrLexicon();

            //Console.Write(lexicon);
            Assert.AreEqual(Lexicon, lexicon);
        }