public void GetReferences_AdvancedDoubleStraightQuoteAfterVerseNum() { TestChecksDataSource dataSource = new TestChecksDataSource(); dataSource.SetParameterValue("PunctCheckLevel", "Advanced"); PunctuationCheck check = new PunctuationCheck(dataSource); dataSource.m_tokens.Add(new DummyTextToken("Wow.", TextType.Verse, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("17", TextType.VerseNumber, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("\"Word", TextType.Verse, false, false, "Paragraph")); List <TextTokenSubstring> tokens = check.GetReferences(dataSource.TextTokens(), string.Empty); Assert.AreEqual(2, tokens.Count); Assert.AreEqual("._", tokens[0].InventoryText); Assert.AreEqual(3, tokens[0].Offset); Assert.AreEqual("Wow.", tokens[0].FirstToken.Text); Assert.AreEqual("_\"", tokens[1].InventoryText); Assert.AreEqual(0, tokens[1].Offset); Assert.AreEqual("\"Word", tokens[1].FirstToken.Text); }
public void GetReferences_AdvancedVerseNumBetweenNotes() { TestChecksDataSource dataSource = new TestChecksDataSource(); dataSource.SetParameterValue("PunctCheckLevel", "Advanced"); PunctuationCheck check = new PunctuationCheck(dataSource); dataSource.m_tokens.Add(new DummyTextToken("Wow", TextType.Verse, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("I am a note.", TextType.Note, true, true, "Note General Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("17", TextType.VerseNumber, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("\"I am a quote note!\"", TextType.Note, true, true, "Note General Paragraph")); List <TextTokenSubstring> tokens = check.GetReferences(dataSource.TextTokens(), string.Empty); Assert.AreEqual(3, tokens.Count); Assert.AreEqual("._", tokens[0].InventoryText); Assert.AreEqual(11, tokens[0].Offset); Assert.AreEqual("I am a note.", tokens[0].FirstToken.Text); Assert.AreEqual("_\"", tokens[1].InventoryText); Assert.AreEqual(0, tokens[1].Offset); Assert.AreEqual("\"I am a quote note!\"", tokens[1].FirstToken.Text); Assert.AreEqual("!\"_", tokens[2].InventoryText); Assert.AreEqual(18, tokens[2].Offset); Assert.AreEqual("\"I am a quote note!\"", tokens[2].FirstToken.Text); }
public void OpenParenFollowedByParaStartingWithVerseNum() { m_dataSource.SetParameterValue("MatchedPairs", MatchedPairsCheckUnitTest_Usfm.kMatchedPairXml1); m_dataSource.m_tokens.Add(new DummyTextToken("This is nice (and by nice, I mean", TextType.Verse, true, false, "Paragraph")); m_dataSource.m_tokens.Add(new DummyTextToken("17", TextType.VerseNumber, true, false, "Paragraph")); m_dataSource.m_tokens.Add(new DummyTextToken(" really, super nice). Amen?", TextType.Verse, false, false, "Paragraph")); m_check.Check(m_dataSource.TextTokens(), RecordError); Assert.AreEqual(2, m_errors.Count); CheckError(0, m_dataSource.m_tokens[0].Text, 13, "(", "Unmatched punctuation"); CheckError(1, m_dataSource.m_tokens[2].Text, 19, ")", "Unmatched punctuation"); }
public void Basic() { m_dataSource.m_tokens.Add(new DummyTextToken("This this is is nice, my friend! ", TextType.Verse, true, false, "Paragraph")); m_dataSource.m_tokens.Add(new DummyTextToken("friend monkey ", TextType.Verse, true, false, "Paragraph")); m_dataSource.m_tokens.Add(new DummyTextToken("monkey friend.", TextType.Verse, false, false, "Paragraph")); m_check.Check(m_dataSource.TextTokens(), RecordError); Assert.AreEqual(3, m_errors.Count); CheckError(0, m_dataSource.m_tokens[0].Text, 5, "this", "Repeated word"); CheckError(1, m_dataSource.m_tokens[0].Text, 13, "is", "Repeated word"); CheckError(2, m_dataSource.m_tokens[2].Text, 0, "monkey", "Repeated word"); }
public void Basic() { m_dataSource.SetParameterValue("ValidCharacters", "a b c d e"); m_dataSource.m_tokens.Add(new DummyTextToken("gha bcdefi", TextType.Verse, true, false, "Paragraph")); m_check.Check(m_dataSource.TextTokens(), RecordError); Assert.AreEqual(4, m_errors.Count); CheckError(0, m_dataSource.m_tokens[0].Text, 0, "g", "Invalid or unknown character"); CheckError(1, m_dataSource.m_tokens[0].Text, 1, "h", "Invalid or unknown character"); CheckError(2, m_dataSource.m_tokens[0].Text, 8, "f", "Invalid or unknown character"); CheckError(3, m_dataSource.m_tokens[0].Text, 9, "i", "Invalid or unknown character"); }
public void GetReferences_AdvancedVerseNumBetweenNotes() { TestChecksDataSource dataSource = new TestChecksDataSource(); dataSource.SetParameterValue("PunctCheckLevel", "Advanced"); PunctuationCheck check = new PunctuationCheck(dataSource); dataSource.m_tokens.Add(new DummyTextToken("Wow", TextType.Verse, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("I am a note.", TextType.Note, true, true, "Note General Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("17", TextType.VerseNumber, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("\"I am a quote note!\"", TextType.Note, true, true, "Note General Paragraph")); List<TextTokenSubstring> tokens = check.GetReferences(dataSource.TextTokens(), string.Empty); Assert.AreEqual(3, tokens.Count); Assert.AreEqual("._", tokens[0].InventoryText); Assert.AreEqual(11, tokens[0].Offset); Assert.AreEqual("I am a note.", tokens[0].FirstToken.Text); Assert.AreEqual("_\"", tokens[1].InventoryText); Assert.AreEqual(0, tokens[1].Offset); Assert.AreEqual("\"I am a quote note!\"", tokens[1].FirstToken.Text); Assert.AreEqual("!\"_", tokens[2].InventoryText); Assert.AreEqual(18, tokens[2].Offset); Assert.AreEqual("\"I am a quote note!\"", tokens[2].FirstToken.Text); }
public void GetReferences_AdvancedDoubleStraightQuoteAfterVerseNum() { TestChecksDataSource dataSource = new TestChecksDataSource(); dataSource.SetParameterValue("PunctCheckLevel", "Advanced"); PunctuationCheck check = new PunctuationCheck(dataSource); dataSource.m_tokens.Add(new DummyTextToken("Wow.", TextType.Verse, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("17", TextType.VerseNumber, true, false, "Paragraph")); dataSource.m_tokens.Add(new DummyTextToken("\"Word", TextType.Verse, false, false, "Paragraph")); List<TextTokenSubstring> tokens = check.GetReferences(dataSource.TextTokens(), string.Empty); Assert.AreEqual(2, tokens.Count); Assert.AreEqual("._", tokens[0].InventoryText); Assert.AreEqual(3, tokens[0].Offset); Assert.AreEqual("Wow.", tokens[0].FirstToken.Text); Assert.AreEqual("_\"", tokens[1].InventoryText); Assert.AreEqual(0, tokens[1].Offset); Assert.AreEqual("\"Word", tokens[1].FirstToken.Text); }