public void EmptyInputTest() { var wordCounter = new WordCounter(string.Empty); var result = wordCounter.Count(); Assert.AreEqual(0, result.Count); }
public void IgnoreCaseTest() { var wordCounter = new WordCounter("This this thiS"); var result = wordCounter.Count(); Assert.AreEqual(1, result.Count); Assert.AreEqual(3, result["this"]); }
public void NumbersInWordsTest() { var wordCounter = new WordCounter("a a123 a"); var result = wordCounter.Count(); Assert.AreEqual(1, result.Count); Assert.AreEqual(3, result["a"]); }
public void MultipleLineInputTest() { var wordCounter = new WordCounter("This is a test.\r\nThis is a test.\nThis is a test."); var result = wordCounter.Count(); Assert.AreEqual(4, result.Count); Assert.AreEqual(3, result["this"]); Assert.AreEqual(3, result["is"]); Assert.AreEqual(3, result["a"]); Assert.AreEqual(3, result["test"]); }
public void WordCounter_IgnoresCase() { string[] inputData = new[] { "one", "two", "three", "One" }; IWordCounter counter = new WordCounter(); var result = counter.Count(inputData); Assert.AreEqual(3, result.Keys.Count); Assert.AreEqual(2, result["one"]); Assert.AreEqual(1, result["two"]); Assert.AreEqual(1, result["three"]); }
public void GeneralCountTest() { var wordCounter = new WordCounter("This is a statement, and so is this."); var result = wordCounter.Count(); Assert.AreEqual(6, result.Count); Assert.AreEqual(2, result["this"]); Assert.AreEqual(2, result["is"]); Assert.AreEqual(1, result["a"]); Assert.AreEqual(1, result["statement"]); Assert.AreEqual(1, result["and"]); Assert.AreEqual(1, result["so"]); }
public List <XmlNode> GetAvailableSegments(ApplicationSettings settings, out int words) { words = 0; _settings = settings; XmlNodeList _segmentNodesList; _segmentNodesList = _doc.SelectNodes("/o:xliff/o:file/o:body//o:trans-unit/o:seg-source//o:mrk[@mtype='seg']", _nsmgr); _segments = new List <XmlNode>(_segmentNodesList.Cast <XmlNode>()); _segmentMap = new Dictionary <XmlNode, int>(_segments.Count); int requiredSegments = GetSegmentLimit(settings); List <XmlNode> remaining = _segments.Where(n => WordCounter.Count(n.InnerText) >= settings.MinWords && WordCounter.Count(n.InnerText) <= settings.MaxWords).ToList(); // need to preserve original positions while remaining shrinks Dictionary <XmlNode, int> segmentIndexMap = new Dictionary <XmlNode, int>(_segments.Count); for (int i = 0; i < _segments.Count; ++i) { segmentIndexMap.Add(_segments[i], i); } while (remaining.Count > 0 && _segmentMap.Count < requiredSegments) { int position = _rnd.Next(remaining.Count); XmlNode segment = remaining[position]; position = segmentIndexMap[segment]; if (IsValidSegment(segment)) { _segmentMap.Add(segment, position); } remaining.Remove(segment); if (_settings.LimitByWords) { int segmentWordCount = WordCounter.Count(segment.InnerText); words += segmentWordCount; if (words > settings.TotalWords) { break; } } } return(_segmentMap.Keys.ToList <XmlNode>()); }
private CountData GetSegmentWordCount(ISegmentPair segmentPair) { return(_wordCounter.Count(segmentPair.Source)); }
public void TestNull() { var results = WordCounter.Count(null); Assert.IsNull(results); }
public void TestWordLessThan4Letters() { var results = WordCounter.Count(string.Empty); Assert.AreEqual(results.Count, 0); }
public void TestEmpty() { var results = WordCounter.Count(string.Empty); Assert.AreEqual(results.Count, 0); }
public override void ProcessParagraphUnit(IParagraphUnit paragraphUnit) { if (paragraphUnit.IsStructure) { return; } foreach (var pair in paragraphUnit.SegmentPairs) { if (settings.UseSource) { var source = pair.Source; var plainText = new PlainTextExtractor().GetPlainText(source); segmentCountInfo.Add(new SegmentCountInfo(source.Properties.TranslationOrigin, wordCounter.Count(source), source.Properties.IsLocked, plainText.Count(char.IsWhiteSpace))); } else { var target = pair.Target; var plainText = new PlainTextExtractor().GetPlainText(target); segmentCountInfo.Add(new SegmentCountInfo(target.Properties.TranslationOrigin, wordCounter.Count(target), target.Properties.IsLocked, plainText.Count(char.IsWhiteSpace))); } } }
public void ShouldReturnZeroWhenEmptyText() { var wordCounter = new WordCounter(); Assert.Equal(0, wordCounter.Count(null)); }