Example #1
0
        public void SenseParser_CanParseSense_Coll_Tedious()
        {
            var defs = LoadDefinitions("collegiate_tedious");

            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();
            }
        }
Example #2
0
        public void SenseParser_CanParse_House()
        {
            var defs = LoadDefinitions("house");

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.Es, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();
            }
        }
Example #3
0
        public void SenseParser_CanParseSense_Learner_Apple()
        {
            var content     = TestHelper.LoadResponseFromFile("sense_learn_apple");
            var definition  = JsonConvert.DeserializeObject <Definition>(content, Converter.Settings);
            var senseParser = new SenseParser(definition, Language.NotApplicable, ParseOptions.Default);

            // ACT
            var def = new Dto.Definition();

            senseParser.Parse(def);

            // ASSERT
            var dts = GetDefiningTexts(new[] { def });

            dts.OfType <SupplementalInformationNote>().ShouldNotBeEmpty();
        }
Example #4
0
        public void SenseParser_CanParseSense_Coll_Dodgson()
        {
            var defs = LoadDefinitions("collegiate_Dodgson");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var dts = GetDefiningTexts(definitions);

            dts.OfType <BiographicalNameWrap>().Count().ShouldBe(2);
        }
Example #5
0
        public void SenseParser_AttributionOfQuote_Ginger()
        {
            var defs = LoadDefinitions("example_ginger");

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);

                // ASSERT
                var vis = def.SenseSequence.SelectMany(ss => ss.Senses)
                          .OfType <SenseBase>()
                          .SelectMany(s => s.DefiningTexts)
                          .OfType <VerbalIllustration>();
                vis.ShouldContain(v => v.AttributionOfQuote != null);
            }
        }
Example #6
0
        public void SenseParser_SynonymsNotInText()
        {
            var defs        = LoadDefinitions("pueblo");
            var definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.En, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);

                definitions.Add(def);
            }

            var dts = GetDefiningTexts(definitions);

            dts.OfType <DefiningText>().ShouldAllBe(t => !t.Text.Text.Contains(":"));
        }
Example #7
0
        public void SenseParser_CanParse_Youngster()
        {
            var defs = LoadDefinitions("youngster");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.En, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var dts = GetDefiningTexts(definitions);

            dts.OfType <GenderForms>().ShouldNotBeEmpty();
        }
Example #8
0
        public void SenseParser_CanParse_Banadera()
        {
            var defs = LoadDefinitions("banadera");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.Es, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var senses = GetSenses(definitions);

            senses.Cast <Dto.Sense>().ShouldContain(s => s.CrossReferences != null && s.CrossReferences.Any());
        }
Example #9
0
        public void SenseParser_CanParseSense_Medical_Doctor()
        {
            var content     = TestHelper.LoadResponseFromFile("sense_med_doctor");
            var definition  = JsonConvert.DeserializeObject <Definition>(content, Converter.Settings);
            var senseParser = new SenseParser(definition, Language.NotApplicable, ParseOptions.Default);

            // ACT
            var def = new Dto.Definition();

            senseParser.Parse(def);

            // ASSERT
            // verify that the divided sense has been parsed
            def.SenseSequence
            .SelectMany(ss => ss.Senses)
            .Cast <Sense>()
            .Where(s => s.DividedSense != null)
            .ShouldNotBeEmpty();
        }
Example #10
0
        public void SenseParser_CanParse_Alliteration()
        {
            var defs = LoadDefinitions("collegiate_alliteration");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var dts = GetDefiningTexts(definitions);

            dts.OfType <CalledAlsoNote>().ShouldNotBeNull();
        }
Example #11
0
        public void SenseParser_CanParseSense_Above()
        {
            var content     = TestHelper.LoadResponseFromFile("sense_above");
            var definition  = JsonConvert.DeserializeObject <Definition>(content, Converter.Settings);
            var senseParser = new SenseParser(definition, Language.NotApplicable, ParseOptions.Default);

            // ACT
            var def = new Dto.Definition();

            senseParser.Parse(def);

            // ASSERT
            def.SenseSequence.Count.ShouldBe(1);
            def.SenseSequence.First().Senses.Count.ShouldBe(4);

            var dts = GetDefiningTexts(new[] { def }).ToList();

            dts.OfType <DefiningText>().ShouldAllBe(t => !t.Text.Text.Contains("{wi}"));
            dts.OfType <VerbalIllustration>().ShouldAllBe(vis => !vis.Sentence.Text.Contains("{wi}"));
        }
Example #12
0
        public void SenseParser_CanParse_Abbey()
        {
            var defs = LoadDefinitions("abbey");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.Es, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var gls = GetDefiningTexts(definitions)
                      .OfType <GenderLabel>().ToList();

            gls.ShouldNotBeEmpty();
            gls.ShouldContain(g => g.Label == "feminine");
        }
Example #13
0
        public void SenseParser_CanParse_Algiers()
        {
            var defs = LoadDefinitions("collegiate_algiers");
            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var dts = GetDefiningTexts(definitions)
                      .ToList();

            dts.Count.ShouldBe(5);
            dts.OfType <RunInWord>().Count().ShouldBe(1);
        }
Example #14
0
        public void SenseParser_CanParse_Jiron()
        {
            var  defs = LoadDefinitions("jirón");
            bool additionalInformationFound = false;

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.Es, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                foreach (var sense in def.SenseSequence)
                {
                    if (sense.Senses.OfType <SenseBase>().Where(ss => ss.SubjectStatusLabels != null).SelectMany(ss => ss.SubjectStatusLabels).Any())
                    {
                        additionalInformationFound = true;
                    }
                }
            }

            additionalInformationFound.ShouldBeTrue();
        }
Example #15
0
        public void SenseParser_CanParse_Reboot()
        {
            var defs = LoadDefinitions("collegiate_reboot");

            List <Dto.Definition> definitions = new List <Dto.Definition>();

            // ACT
            foreach (var senseParser in defs.Select(definition => new SenseParser(definition, Language.NotApplicable, ParseOptions.Default)))
            {
                var def = new Dto.Definition();
                senseParser.Parse(def);
                def.SenseSequence.ShouldNotBeEmpty();

                definitions.Add(def);
            }

            var senses = definitions.SelectMany(d => d.SenseSequence)
                         .SelectMany(ss => ss.Senses)
                         .OfType <SenseBase>().ToList();

            senses.ShouldContain(s => s.SenseSpecificGrammaticalLabel != null);
            senses.ShouldContain(s => s.SenseSpecificGrammaticalLabel == null);
        }