コード例 #1
0
		public void TestFindTermRenderingInUse_SomeMissing()
		{
			IKeyTerm ktGod = AddMockedKeyTerm("God", "Dios", 1, 4);
			IKeyTerm ktPaul = AddMockedKeyTerm("Paul", "Pablo", 1, 2, 5);
			IKeyTerm ktHave = AddMockedKeyTerm("have", "tenemos", 1, 2, 3, 4, 5, 6);
			IKeyTerm ktSay = AddMockedKeyTerm("say", "dice", 1, 2, 5);

			TranslatablePhrase phrase1 = new TranslatablePhrase("What did God tell Paul?");
			TranslatablePhrase phrase2 = new TranslatablePhrase("What does Paul say we have to give to God?");

			new PhraseTranslationHelper(new[] { phrase1, phrase2 },
				m_dummyKtList, m_keyTermRules, new List<Substitution>());

			phrase1.Translation = "\u00BFQue\u0301 le dijo Jehovah a Pablo?";
			phrase2.Translation = "Pi\u0301dale ayuda a Bill.";

			SubstringDescriptor sd;

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, 0));
			Assert.IsNull(sd);

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, 0));
			Assert.AreEqual(24, sd.Offset);
			Assert.AreEqual(5, sd.Length);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, 0));
			Assert.IsNull(sd);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktSay, 0));
			Assert.IsNull(sd);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktHave, 0));
			Assert.IsNull(sd);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, 0));
			Assert.IsNull(sd);
		}
コード例 #2
0
		public void TestFindTermRenderingInUse_RepeatedTerms()
		{
			IKeyTerm ktGod = AddMockedKeyTerm("God", "Dios", 1, 4);
			IKeyTerm ktPaul = AddMockedKeyTerm("Paul", "Pablo", 1, 2, 5);

			TranslatablePhrase phrase1 = new TranslatablePhrase("What did God tell Paul?/What was Paul told by God");

			new PhraseTranslationHelper(new[] { phrase1 },
				m_dummyKtList, m_keyTermRules, new List<Substitution>());

			phrase1.Translation = "\u00BFQue\u0301 le dijo Dios a Pablo?/\u00BFQue\u0301 le fue dicho a Pablo por Dios?";

			SubstringDescriptor sd;

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, 0));
			Assert.AreEqual(14, sd.Offset);
			Assert.AreEqual(4, sd.Length);
			int endOfLastOccurrenceOfGod = sd.EndOffset;

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, 0));
			Assert.AreEqual(21, sd.Offset);
			Assert.AreEqual(5, sd.Length);
			int endOfLastOccurrenceOfPaul = sd.EndOffset;

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, endOfLastOccurrenceOfGod));
			Assert.AreEqual(59, sd.Offset);
			Assert.AreEqual(4, sd.Length);

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, endOfLastOccurrenceOfPaul));
			Assert.AreEqual(49, sd.Offset);
			Assert.AreEqual(5, sd.Length);
		}
コード例 #3
0
		public void TestFindTermRenderingInUse_Present()
		{
			IKeyTerm ktGod = AddMockedKeyTerm("God", "Dios", 1, 4);
			IKeyTerm ktPaul = AddMockedKeyTerm("Paul", "Pablo", 1, 2, 5);
			IKeyTerm ktHave = AddMockedKeyTerm("have", "tenemos", 1, 2, 3, 4, 5, 6);
			IKeyTerm ktSay = AddMockedKeyTerm("say", "dice", 1, 2, 5);

			TranslatablePhrase phrase1 = new TranslatablePhrase("What did God tell Paul?");
			TranslatablePhrase phrase2 = new TranslatablePhrase("What does Paul say we have to give to God?");

			new PhraseTranslationHelper(new[] {phrase1, phrase2},
				m_dummyKtList, m_keyTermRules, new List<Substitution>());

			phrase1.Translation = "\u00BFQue\u0301 le dijo Dios a Pablo?";
			phrase2.Translation = "\u00BFQue\u0301 dice luaP que tenemos que dar a Dios?";

			SubstringDescriptor sd;

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, 0));
			Assert.AreEqual(14, sd.Offset);
			Assert.AreEqual(4, sd.Length);

			sd = phrase1.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, 0));
			Assert.AreEqual(21, sd.Offset);
			Assert.AreEqual(5, sd.Length);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktPaul, 0));
			Assert.AreEqual(11, sd.Offset);
			Assert.AreEqual(4, sd.Length);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktSay, 0));
			Assert.AreEqual(6, sd.Offset);
			Assert.AreEqual(4, sd.Length);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktHave, 0));
			Assert.AreEqual(20, sd.Offset);
			Assert.AreEqual(7, sd.Length);

			sd = phrase2.FindTermRenderingInUse(new DummyKeyTermRenderingInfo(ktGod, 0));
			Assert.AreEqual(38, sd.Offset);
			Assert.AreEqual(4, sd.Length);
		}