SILUBS.ScriptureChecks.MixedCapitalizationCheck.GetReferences C# (CSharp) Method

GetReferences() public method

Get all instances of the item being checked in the token list passed. This includes both valid and invalid instances. This is used 1) to create an inventory of these items. To show the user all instance of an item with a specified key. 2) With a "desiredKey" in order to fetch instance of a specific item (e.g. all the places where "the" is a repeated word.
public GetReferences ( IEnumerable tokens, string desiredKey ) : List
tokens IEnumerable Tokens for text to be scanned
desiredKey string If you only want instance of a specific key (e.g. one word, /// one punctuation pattern, one character, etc.) place it here. Empty string returns /// all items.
return List
		public List<TextTokenSubstring> GetReferences(IEnumerable<ITextToken> tokens, string desiredKey)
		{
#if DEBUG
			List<ITextToken> AllTokens = new List<ITextToken>(tokens);
			if (AllTokens.Count == 0)
			{
				// Keep the compiler from complaining about assigning to a variable, but not using it.
			}
#endif
			m_characterCategorizer = m_checksDataSource.CharacterCategorizer;
			ValidItems = m_checksDataSource.GetParameterValue(kValidItemsParameter);
			InvalidItems = m_checksDataSource.GetParameterValue(kInvalidItemsParameter);

			string preferredLocale =
				m_checksDataSource.GetParameterValue("PreferredLocale") ?? string.Empty;

			m_mixedCapitalization = new List<TextTokenSubstring>();
			ProcessMixedCapitalization processor =
				new ProcessMixedCapitalization(m_checksDataSource, m_mixedCapitalization);

			foreach (ITextToken tok in tokens)
			{
				if ((tok.Locale ?? string.Empty) != preferredLocale)
					continue;

				foreach (WordAndPunct wap in m_characterCategorizer.WordAndPuncts(tok.Text))
					processor.ProcessWord(tok, wap, desiredKey);
			}

			return m_mixedCapitalization;
		}
	}

Usage Example

Ejemplo n.º 1
0
        public void ChangeCharacterCategorizerAfterInstantiationOfCheck()
        {
            MixedCapitalizationCheck check = new MixedCapitalizationCheck(m_source);

            m_source.Text = @"\p \v 1 w!Forming";

            List <TextTokenSubstring> tts = check.GetReferences(m_source.TextTokens(), null);

            Assert.AreEqual(0, tts.Count);

            m_source.m_extraWordFormingCharacters = "!";

            tts = check.GetReferences(m_source.TextTokens(), null);

            Assert.AreEqual(1, tts.Count);
            Assert.AreEqual("w!Forming", tts[0].Text);
        }
All Usage Examples Of SILUBS.ScriptureChecks.MixedCapitalizationCheck::GetReferences