From 516a220d9f6e27784f4eed807df8692859f8bc44 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 20 Jun 2012 15:48:46 -0500 Subject: [PATCH] Verify classifer counts --- lib/linguist/classifier.rb | 9 +++++++++ test/test_classifier.rb | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/lib/linguist/classifier.rb b/lib/linguist/classifier.rb index fe2c5a14..d3731c2d 100644 --- a/lib/linguist/classifier.rb +++ b/lib/linguist/classifier.rb @@ -68,6 +68,15 @@ module Linguist nil end + # Public: Verify internal counts are consistent. + # + # Returns Boolean. + def verify + @languages.inject(0) { |n, (l, c)| n += c } == @languages_total && + @language_tokens.inject(0) { |n, (l, c)| n += c } == @tokens_total && + @tokens.inject(0) { |n, (l, ts)| n += ts.inject(0) { |m, (t, c)| m += c } } == @tokens_total + end + # Public: Prune infrequent tokens. # # Returns receiver Classifier instance. diff --git a/test/test_classifier.rb b/test/test_classifier.rb index c329364d..b39fb20c 100644 --- a/test/test_classifier.rb +++ b/test/test_classifier.rb @@ -55,6 +55,10 @@ class TestClassifier < Test::Unit::TestCase assert results.first[1] < 0.5, results.first.inspect end + def test_verify + assert Classifier.instance.verify + end + def test_gc Classifier.instance.gc end