mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Seperate test file for samples
This commit is contained in:
		
							
								
								
									
										2
									
								
								Rakefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Rakefile
									
									
									
									
									
								
							| @@ -16,7 +16,7 @@ end | |||||||
|  |  | ||||||
| CLOBBER.include 'lib/linguist/samples.yml' | CLOBBER.include 'lib/linguist/samples.yml' | ||||||
|  |  | ||||||
| task :classifier => [:clobber, 'lib/linguist/samples.yml'] | task :samples => [:clobber, 'lib/linguist/samples.yml'] | ||||||
|  |  | ||||||
| namespace :classifier do | namespace :classifier do | ||||||
|   LIMIT = 1_000 |   LIMIT = 1_000 | ||||||
|   | |||||||
| @@ -16,13 +16,6 @@ class TestClassifier < Test::Unit::TestCase | |||||||
|     File.read(File.join(samples_path, name)) |     File.read(File.join(samples_path, name)) | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_instance_freshness |  | ||||||
|     # Just warn, it shouldn't scare people off by breaking the build. |  | ||||||
|     if Samples::DATA['md5'] != Samples.data['md5'] |  | ||||||
|       warn "Classifier database is out of date. Run `bundle exec rake classifier`." |  | ||||||
|     end |  | ||||||
|   end |  | ||||||
|  |  | ||||||
|   def test_classify |   def test_classify | ||||||
|     db = {} |     db = {} | ||||||
|     Classifier.train! db, "Ruby", fixture("ruby/foo.rb") |     Classifier.train! db, "Ruby", fixture("ruby/foo.rb") | ||||||
| @@ -59,14 +52,6 @@ class TestClassifier < Test::Unit::TestCase | |||||||
|     assert_equal [], Classifier.classify(Samples::DATA, nil) |     assert_equal [], Classifier.classify(Samples::DATA, nil) | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_verify |  | ||||||
|     data = Samples::DATA |  | ||||||
|  |  | ||||||
|     assert_equal data['languages_total'], data['languages'].inject(0) { |n, (_, c)| n += c } |  | ||||||
|     assert_equal data['tokens_total'], data['language_tokens'].inject(0) { |n, (_, c)| n += c } |  | ||||||
|     assert_equal data['tokens_total'], data['tokens'].inject(0) { |n, (_, ts)| n += ts.inject(0) { |m, (_, c)| m += c } } |  | ||||||
|   end |  | ||||||
|  |  | ||||||
|   def test_classify_ambiguous_languages |   def test_classify_ambiguous_languages | ||||||
|     Samples.each do |sample| |     Samples.each do |sample| | ||||||
|       language = Linguist::Language.find_by_alias(sample[:language]) |       language = Linguist::Language.find_by_alias(sample[:language]) | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								test/test_samples.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								test/test_samples.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | require 'linguist/samples' | ||||||
|  |  | ||||||
|  | require 'test/unit' | ||||||
|  |  | ||||||
|  | class TestSamples < Test::Unit::TestCase | ||||||
|  |   include Linguist | ||||||
|  |  | ||||||
|  |   def test_up_to_date | ||||||
|  |     assert serialized = Samples::DATA | ||||||
|  |     assert latest = Samples.data | ||||||
|  |  | ||||||
|  |     # Just warn, it shouldn't scare people off by breaking the build. | ||||||
|  |     if serialized['md5'] != latest['md5'] | ||||||
|  |       warn "Samples database is out of date. Run `bundle exec rake samples`." | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   def test_verify | ||||||
|  |     assert data = Samples::DATA | ||||||
|  |  | ||||||
|  |     assert_equal data['languages_total'], data['languages'].inject(0) { |n, (_, c)| n += c } | ||||||
|  |     assert_equal data['tokens_total'], data['language_tokens'].inject(0) { |n, (_, c)| n += c } | ||||||
|  |     assert_equal data['tokens_total'], data['tokens'].inject(0) { |n, (_, ts)| n += ts.inject(0) { |m, (_, c)| m += c } } | ||||||
|  |   end | ||||||
|  | end | ||||||
		Reference in New Issue
	
	Block a user