public void TestSetup()
		{
			Cache = FdoCache.CreateCacheWithNewBlankLangProj(new TestProjectId(FDOBackendProviderType.kMemoryOnly, null),
																			 "en", "fr", "en", new DummyFdoUI(), FwDirectoryFinder.FdoDirectories, new FdoSettings());
			var loader = new XmlList();
			loader.ImportList(Cache.LangProject, "PartsOfSpeech", Path.Combine(FwDirectoryFinder.TemplateDirectory, "POS.xml"),
									new DummyProgressDlg());
			// This allows tests to do any kind of data changes without worrying about starting a UOW.
			Cache.ActionHandlerAccessor.BeginUndoTask("Undo doing stuff", "Redo doing stuff");
		}
		public void CreateMockCache()
		{
			m_cache = FdoCache.CreateCacheWithNewBlankLangProj(
				new TestProjectId(FDOBackendProviderType.kMemoryOnly, null), "en", "es", "en", new DummyFdoUI(),
				FwDirectoryFinder.FdoDirectories, new FdoSettings());

			var xl = new XmlList();
			using (var reader = new StringReader(XmlListTests.s_ksPartsOfSpeechXml))
			{
				xl.ImportList(m_cache.LangProject, "PartsOfSpeech", reader, null);
				reader.Close();
			}
			using (var reader = new StringReader(XmlListTests.s_ksSemanticDomainsXml))
			{
				xl.ImportList(m_cache.LangProject, "SemanticDomainList", reader, null);
				reader.Close();
			}

			m_repoPOS = m_cache.ServiceLocator.GetInstance<IPartOfSpeechRepository>();
			m_repoSemDom = m_cache.ServiceLocator.GetInstance<ICmSemanticDomainRepository>();

			m_wsEn = m_cache.WritingSystemFactory.GetWsFromStr("en");
			m_wsEs = m_cache.WritingSystemFactory.GetWsFromStr("es");
			m_wsFr = m_cache.WritingSystemFactory.GetWsFromStr("fr");
			m_wsDe = m_cache.WritingSystemFactory.GetWsFromStr("de");
		}
示例#3
0
 public void CreateMockCache()
 {
     m_cache = FdoCache.CreateCacheWithNewBlankLangProj(
         new TestProjectId(FDOBackendProviderType.kMemoryOnly, null), "en", "fr", "en", new DummyFdoUI(), FwDirectoryFinder.FdoDirectories, new FdoSettings());
     var xl = new XmlList();
     using (var reader = new StringReader(s_ksSemanticDomainsXml))
         xl.ImportList(m_cache.LangProject, "SemanticDomainList", reader, null);
 }
		private void LoadSemDomTestDataFromFile(string filePath)
		{
			var loader = new XmlList();
			loader.ImportList(Cache.LangProject, "SemanticDomainList", filePath, new DummyProgressDlg());
		}
		private void LoadSemDomTestData(string xmlSemDomData)
		{
			using (var trdr = new StringReader(xmlSemDomData))
			{
				var loader = new XmlList();
				loader.ImportList(Cache.LangProject, "SemanticDomainList", trdr, new DummyProgressDlg());
			}
		}
示例#6
0
		public void ImportList2()
		{
			var list = m_cache.LangProject.SemanticDomainListOA;
			Assert.AreEqual(0, list.PossibilitiesOS.Count);
			Assert.AreEqual(0, list.Depth);
			Assert.AreEqual(0, list.WsSelector);
			Assert.IsFalse(list.IsSorted);
			Assert.IsFalse(list.UseExtendedFields);
			Assert.AreEqual(66, list.ItemClsid);
			Assert.AreEqual(0, list.Abbreviation.StringCount);
			Assert.AreEqual(0, list.Name.StringCount);

			var xl = new XmlList();
			using (var reader = new StringReader(s_ksSemanticDomainsXml))
			{
				xl.ImportList(m_cache.LangProject, "SemanticDomainList", reader, null);

				var wsEn = m_cache.WritingSystemFactory.GetWsFromStr("en");
				var wsEs = m_cache.WritingSystemFactory.GetWsFromStr("es");
				var wsFr = m_cache.WritingSystemFactory.GetWsFromStr("fr");

				Assert.AreEqual(2, list.PossibilitiesOS.Count);
				Assert.AreEqual(127, list.Depth);
				Assert.AreEqual(-3, list.WsSelector);
				Assert.IsTrue(list.IsSorted);
				Assert.IsFalse(list.UseExtendedFields);
				Assert.AreEqual(66, list.ItemClsid);
				Assert.AreEqual(1, list.Abbreviation.StringCount);
				Assert.AreEqual("Sem", list.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(1, list.Name.StringCount);
				Assert.AreEqual("Semantic Domains", list.Name.get_String(wsEn).Text);

				ICmSemanticDomain sem1 = list.PossibilitiesOS[0] as ICmSemanticDomain;
				Assert.IsNotNull(sem1);
				Assert.AreNotEqual(sem1.Guid, Guid.Empty);
				Assert.AreEqual(1, sem1.Abbreviation.StringCount);
				Assert.AreEqual("1", sem1.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(1, sem1.Name.StringCount);
				Assert.AreEqual("Universe, creation", sem1.Name.get_String(wsEn).Text);
				Assert.AreEqual(1, sem1.Description.StringCount);
				string desc = sem1.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("Use this domain for general words referring to the physical universe."));
				Assert.IsTrue(desc.EndsWith(" such as 'everything you can see' or 'everything that exists'."));
				Assert.AreEqual(313, desc.Length);
				Assert.AreEqual("772 Cosmology;  130 Geography", sem1.OcmCodes);
				Assert.AreEqual("1A Universe, Creation;  14 Physical Events and States", sem1.LouwNidaCodes);
				Assert.AreEqual(1, sem1.QuestionsOS.Count);
				ICmDomainQ cdq = sem1.QuestionsOS[0];
				Assert.AreEqual(1, cdq.Question.StringCount);
				Assert.AreEqual("(1) What words refer to everything we can see?", cdq.Question.get_String(wsEn).Text);
				Assert.AreEqual(1, cdq.ExampleWords.StringCount);
				Assert.AreEqual("universe, creation, cosmos, heaven and earth, macrocosm, everything that exists",
					cdq.ExampleWords.get_String(wsEn).Text);
				Assert.AreEqual(1, cdq.ExampleSentences.StringCount);
				Assert.AreEqual("In the beginning God created <the heavens and the earth>.",
					cdq.ExampleSentences.get_String(wsEn).Text);
				Assert.AreEqual(3, sem1.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem11 = sem1.SubPossibilitiesOS[0] as ICmSemanticDomain;
				Assert.IsNotNull(sem11);
				Assert.AreEqual(sem11.Guid.ToString(), "999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C".ToLowerInvariant());
				Assert.AreEqual(1, sem11.Abbreviation.StringCount);
				Assert.AreEqual("1.1", sem11.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(1, sem11.Name.StringCount);
				Assert.AreEqual("Sky", sem11.Name.get_String(wsEn).Text);
				Assert.AreEqual(1, sem11.Description.StringCount);
				Assert.AreEqual("Use this domain for words related to the sky.",
					sem11.Description.get_String(wsEn).Text);
				Assert.IsTrue(String.IsNullOrEmpty(sem11.OcmCodes));
				Assert.AreEqual("1B Regions Above the Earth", sem11.LouwNidaCodes);
				Assert.AreEqual(3, sem11.QuestionsOS.Count);
				cdq = sem11.QuestionsOS[0];
				Assert.AreEqual(1, cdq.Question.StringCount);
				Assert.AreEqual("(1) What words are used to refer to the sky?",
					cdq.Question.get_String(wsEn).Text);
				Assert.AreEqual(1, cdq.ExampleWords.StringCount);
				Assert.AreEqual("sky, firmament, canopy, vault",
					cdq.ExampleWords.get_String(wsEn).Text);
				Assert.AreEqual(0, cdq.ExampleSentences.StringCount);
				cdq = sem11.QuestionsOS[1];
				Assert.AreEqual(1, cdq.Question.StringCount);
				Assert.AreEqual("(2) What words refer to the air around the earth?",
					cdq.Question.get_String(wsEn).Text);
				Assert.AreEqual(1, cdq.ExampleWords.StringCount);
				Assert.AreEqual("air, atmosphere, airspace, stratosphere, ozone layer",
					cdq.ExampleWords.get_String(wsEn).Text);
				Assert.AreEqual(0, cdq.ExampleSentences.StringCount);
				cdq = sem11.QuestionsOS[2];
				Assert.AreEqual(1, cdq.Question.StringCount);
				Assert.AreEqual("(3) What words are used to refer to the place or area beyond the sky?",
					cdq.Question.get_String(wsEn).Text);
				Assert.AreEqual(1, cdq.ExampleWords.StringCount);
				Assert.AreEqual("heaven, space, outer space, ether, void, solar system",
					cdq.ExampleWords.get_String(wsEn).Text);
				Assert.AreEqual(0, cdq.ExampleSentences.StringCount);
				Assert.AreEqual(2, sem11.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem111 = sem11.SubPossibilitiesOS[0] as ICmSemanticDomain;
				Assert.IsNotNull(sem111);
				Assert.AreEqual(1, sem111.Abbreviation.StringCount);
				Assert.AreEqual("1.1.1", sem111.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(2, sem111.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem1111 = sem111.SubPossibilitiesOS[0] as ICmSemanticDomain;
				Assert.IsNotNull(sem1111);
				Assert.AreEqual(1, sem1111.Abbreviation.StringCount);
				Assert.AreEqual("1.1.1.1", sem1111.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem1111.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem1112 = sem111.SubPossibilitiesOS[1] as ICmSemanticDomain;
				Assert.IsNotNull(sem1112);
				Assert.AreEqual(1, sem1112.Abbreviation.StringCount);
				Assert.AreEqual("1.1.1.2", sem1112.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem1112.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem112 = sem11.SubPossibilitiesOS[1] as ICmSemanticDomain;
				Assert.IsNotNull(sem112);
				Assert.AreEqual(1, sem112.Abbreviation.StringCount);
				Assert.AreEqual("1.1.2", sem112.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem112.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem12 = sem1.SubPossibilitiesOS[1] as ICmSemanticDomain;
				Assert.IsNotNull(sem12);
				Assert.AreEqual(1, sem12.Abbreviation.StringCount);
				Assert.AreEqual("1.2", sem12.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem12.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem13 = sem1.SubPossibilitiesOS[2] as ICmSemanticDomain;
				Assert.IsNotNull(sem13);
				Assert.AreEqual(1, sem13.Abbreviation.StringCount);
				Assert.AreEqual("1.3", sem13.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem13.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem2 = list.PossibilitiesOS[1] as ICmSemanticDomain;
				Assert.IsNotNull(sem2);
				Assert.AreEqual(1, sem2.Abbreviation.StringCount);
				Assert.AreEqual("2", sem2.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(2, sem2.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem21 = sem2.SubPossibilitiesOS[0] as ICmSemanticDomain;
				Assert.IsNotNull(sem21);
				Assert.AreEqual(1, sem21.Abbreviation.StringCount);
				Assert.AreEqual("2.1", sem21.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem21.SubPossibilitiesOS.Count);

				ICmSemanticDomain sem22 = sem2.SubPossibilitiesOS[1] as ICmSemanticDomain;
				Assert.IsNotNull(sem22);
				Assert.AreEqual(1, sem22.Abbreviation.StringCount);
				Assert.AreEqual("2.2", sem22.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(0, sem22.SubPossibilitiesOS.Count);
			}
		}
示例#7
0
		public void ImportList()
		{
			var list = m_cache.LangProject.PartsOfSpeechOA;
			Assert.AreEqual(0, list.PossibilitiesOS.Count);
			Assert.AreEqual(0, list.Depth);
			Assert.AreEqual(0, list.WsSelector);
			Assert.IsFalse(list.IsSorted);
			Assert.IsFalse(list.UseExtendedFields);
			Assert.AreEqual(5049, list.ItemClsid);
			Assert.AreEqual(0, list.Abbreviation.StringCount);
			Assert.AreEqual(0, list.Name.StringCount);

			var xl = new XmlList();
			using (var reader = new StringReader(s_ksPartsOfSpeechXml))
			{
				xl.ImportList(m_cache.LangProject, "PartsOfSpeech", reader, null);

				var wsEn = m_cache.WritingSystemFactory.GetWsFromStr("en");
				var wsEs = m_cache.WritingSystemFactory.GetWsFromStr("es");
				var wsFr = m_cache.WritingSystemFactory.GetWsFromStr("fr");

				Assert.AreEqual(2, list.PossibilitiesOS.Count);
				Assert.AreEqual(127, list.Depth);
				Assert.AreEqual(-3, list.WsSelector);
				Assert.IsTrue(list.IsSorted);
				Assert.IsTrue(list.UseExtendedFields);
				Assert.AreEqual(5049, list.ItemClsid);
				Assert.AreEqual(1, list.Abbreviation.StringCount);
				Assert.AreEqual("Pos", list.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual(3, list.Name.StringCount);
				Assert.AreEqual("Parts Of Speech", list.Name.get_String(wsEn).Text);
				Assert.AreEqual("Categori\u0301as Grama\u0301ticas", list.Name.get_String(wsEs).Text);
				Assert.AreEqual("Parties du Discours", list.Name.get_String(wsFr).Text);

				var adverb = list.PossibilitiesOS[0] as IPartOfSpeech;
				Assert.IsNotNull(adverb);
				Assert.AreEqual(6303632, adverb.ForeColor);
				Assert.AreEqual(-1073741824, adverb.BackColor);
				Assert.AreEqual(-1073741824, adverb.UnderColor);
				Assert.AreEqual(1, adverb.UnderStyle);
				Assert.AreEqual(3, adverb.Abbreviation.StringCount);
				Assert.AreEqual("adv", adverb.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual("adv", adverb.Abbreviation.get_String(wsEs).Text);
				Assert.AreEqual("adv", adverb.Abbreviation.get_String(wsFr).Text);
				Assert.AreEqual(3, adverb.Name.StringCount);
				Assert.AreEqual("Adverb", adverb.Name.get_String(wsEn).Text);
				Assert.AreEqual("Adverbio", adverb.Name.get_String(wsEs).Text);
				Assert.AreEqual("Adverbe", adverb.Name.get_String(wsFr).Text);
				Assert.AreEqual(1, adverb.Description.StringCount);
				var desc = adverb.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("An adverb, narrowly defined, is a part of"));
				Assert.IsTrue(desc.EndsWith(" the class of the constituent being modified."));
				Assert.AreEqual(432, desc.Length);
				Assert.AreEqual("Adverb", adverb.CatalogSourceId);
				Assert.AreEqual(0, adverb.SubPossibilitiesOS.Count);

				var noun = list.PossibilitiesOS[1] as IPartOfSpeech;
				Assert.IsNotNull(noun);
				Assert.AreEqual(6303632, noun.ForeColor);
				Assert.AreEqual(-1073741824, noun.BackColor);
				Assert.AreEqual(-1073741824, noun.UnderColor);
				Assert.AreEqual(1, noun.UnderStyle);
				Assert.AreEqual(3, noun.Abbreviation.StringCount);
				Assert.AreEqual("n", noun.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual("sus", noun.Abbreviation.get_String(wsEs).Text);
				Assert.AreEqual("n", noun.Abbreviation.get_String(wsFr).Text);
				Assert.AreEqual(3, noun.Name.StringCount);
				Assert.AreEqual("Noun", noun.Name.get_String(wsEn).Text);
				Assert.AreEqual("Nombre", noun.Name.get_String(wsEs).Text);
				Assert.AreEqual("Nom", noun.Name.get_String(wsFr).Text);
				Assert.AreEqual(1, noun.Description.StringCount);
				desc = noun.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("A noun is a broad classification of parts of speech"));
				Assert.IsTrue(desc.EndsWith(" which include substantives and nominals."));
				Assert.AreEqual(92, desc.Length);
				Assert.AreEqual("Noun", noun.CatalogSourceId);
				Assert.AreEqual(2, noun.SubPossibilitiesOS.Count);

				var nominal = noun.SubPossibilitiesOS[0] as IPartOfSpeech;
				Assert.IsNotNull(nominal);
				Assert.AreEqual(3, nominal.Abbreviation.StringCount);
				Assert.AreEqual("nom", nominal.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual("nom", nominal.Abbreviation.get_String(wsEs).Text);
				Assert.AreEqual("nom", nominal.Abbreviation.get_String(wsFr).Text);
				Assert.AreEqual(3, nominal.Name.StringCount);
				Assert.AreEqual("Nominal", nominal.Name.get_String(wsEn).Text);
				Assert.AreEqual("Nominal", nominal.Name.get_String(wsEs).Text);
				Assert.AreEqual("Nominal", nominal.Name.get_String(wsFr).Text);
				Assert.AreEqual(2, nominal.Description.StringCount);
				desc = nominal.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("A nominal is a part of speech whose members differ"));
				Assert.IsTrue(desc.EndsWith(" from a substantive but which functions as one."));
				Assert.AreEqual(111, desc.Length);
				desc = nominal.Description.get_String(wsFr).Text;
				Assert.IsTrue(desc.StartsWith("Un nominal est un constituant syntaxique caractérisé par"));
				Assert.IsTrue(desc.EndsWith(", ainsi que les syntagmes nominaux et les pronoms.)"));
				Assert.AreEqual(602, desc.Length);
				Assert.AreEqual("Nominal", nominal.CatalogSourceId);
				Assert.AreEqual(1, nominal.SubPossibilitiesOS.Count);

				var gerund = nominal.SubPossibilitiesOS[0] as IPartOfSpeech;
				Assert.IsNotNull(gerund);
				Assert.AreEqual(2, gerund.Abbreviation.StringCount);
				Assert.AreEqual("ger", gerund.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual("ger", gerund.Abbreviation.get_String(wsFr).Text);
				Assert.AreEqual(2, gerund.Name.StringCount);
				Assert.AreEqual("Gerund", gerund.Name.get_String(wsEn).Text);
				Assert.AreEqual("Ge\u0301rundif", gerund.Name.get_String(wsFr).Text);
				Assert.AreEqual(1, gerund.Description.StringCount);
				desc = gerund.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("A part of speech derived from a verb and used as a noun,"));
				Assert.IsTrue(desc.EndsWith(" usually restricted to non-finite forms of the verb."));
				Assert.AreEqual(108, desc.Length);
				Assert.AreEqual("Gerund", gerund.CatalogSourceId);
				Assert.AreEqual(0, gerund.SubPossibilitiesOS.Count);

				var substantive = noun.SubPossibilitiesOS[1] as IPartOfSpeech;
				Assert.IsNotNull(substantive);
				Assert.AreEqual(2, substantive.Abbreviation.StringCount);
				Assert.AreEqual("subs", substantive.Abbreviation.get_String(wsEn).Text);
				Assert.AreEqual("subst", substantive.Abbreviation.get_String(wsFr).Text);
				Assert.AreEqual(2, substantive.Name.StringCount);
				Assert.AreEqual("Substantive", substantive.Name.get_String(wsEn).Text);
				Assert.AreEqual("Substantif", substantive.Name.get_String(wsFr).Text);
				Assert.AreEqual(1, substantive.Description.StringCount);
				desc = substantive.Description.get_String(wsEn).Text;
				Assert.IsTrue(desc.StartsWith("A substantive is a member of the syntactic class in which"));
				Assert.IsTrue(desc.EndsWith(" grammatical gender (in languages which inflect for gender)."));
				Assert.AreEqual(309, desc.Length);
				Assert.AreEqual("Substantive", substantive.CatalogSourceId);
				Assert.AreEqual(0, substantive.SubPossibilitiesOS.Count);
			}
		}