spec/document_spec.rb in tf-idf-similarity-0.1.3 vs spec/document_spec.rb in tf-idf-similarity-0.1.4
- old
+ new
@@ -1,136 +1,138 @@
require 'spec_helper'
# @see https://github.com/bbcrd/Similarity/blob/master/test/test_document.rb
-describe TfIdfSimilarity::Document do
- let :text do
- "FOO-foo BAR bar \r\n\t 123 !@#"
- end
-
- let :tokens do
- ['FOO-foo', 'BAR', 'bar', "\r\n\t", '123', '!@#']
- end
-
- let :document_without_text do
- TfIdfSimilarity::Document.new('')
- end
-
- let :document do
- TfIdfSimilarity::Document.new(text)
- end
-
- let :document_with_id do
- TfIdfSimilarity::Document.new(text, :id => 'baz')
- end
-
- let :document_with_tokens do
- TfIdfSimilarity::Document.new(text, :tokens => tokens)
- end
-
- let :document_with_term_counts do
- TfIdfSimilarity::Document.new(text, :term_counts => {'bar' => 5, 'baz' => 10})
- end
-
- let :document_with_term_counts_and_size do
- TfIdfSimilarity::Document.new(text, :term_counts => {'bar' => 5, 'baz' => 10}, :size => 20)
- end
-
- let :document_with_size do
- TfIdfSimilarity::Document.new(text, :size => 10)
- end
-
- describe '#id' do
- it 'should return the ID if no ID given' do
- document.id.should == document.object_id
+module TfIdfSimilarity
+ describe Document do
+ let :text do
+ "FOO-foo BAR bar \r\n\t 123 !@#"
end
- it 'should return the given ID' do
- document_with_id.id.should == 'baz'
+ let :tokens do
+ ['FOO-foo', 'BAR', 'bar', "\r\n\t", '123', '!@#']
end
- end
- describe '#text' do
- it 'should return the text' do
- document.text.should == text
+ let :document_without_text do
+ Document.new('')
end
- end
- describe '#size' do
- it 'should return the number of tokens if no tokens given' do
- document.size.should == 4
+ let :document do
+ Document.new(text)
end
- it 'should return the number of tokens if tokens given' do
- document_with_tokens.size.should == 3
+ let :document_with_id do
+ Document.new(text, :id => 'baz')
end
- it 'should return the number of tokens if no text given' do
- document_without_text.size.should == 0
+ let :document_with_tokens do
+ Document.new(text, :tokens => tokens)
end
- it 'should return the number of tokens if term counts given' do
- document_with_term_counts.size.should == 15
+ let :document_with_term_counts do
+ Document.new(text, :term_counts => {'bar' => 5, 'baz' => 10})
end
- it 'should return the given number of tokens if term counts and size given' do
- document_with_term_counts_and_size.size.should == 20
+ let :document_with_term_counts_and_size do
+ Document.new(text, :term_counts => {'bar' => 5, 'baz' => 10}, :size => 20)
end
- it 'should not return the given number of tokens if term counts not given' do
- document_with_size.size.should_not == 10
+ let :document_with_size do
+ Document.new(text, :size => 10)
end
- end
- describe '#term_counts' do
- it 'should return the term counts if no tokens given' do
- document.term_counts.should == {'foo' => 2, 'bar' => 2}
- end
+ describe '#id' do
+ it 'should return the ID if no ID given' do
+ document.id.should == document.object_id
+ end
- it 'should return the term counts if tokens given' do
- document_with_tokens.term_counts.should == {'foo-foo' => 1, 'bar' => 2}
+ it 'should return the given ID' do
+ document_with_id.id.should == 'baz'
+ end
end
- it 'should return no term counts if no text given' do
- document_without_text.term_counts.should == {}
+ describe '#text' do
+ it 'should return the text' do
+ document.text.should == text
+ end
end
- it 'should return the term counts if term counts given' do
- document_with_term_counts.term_counts.should == {'bar' => 5, 'baz' => 10}
- end
- end
+ describe '#size' do
+ it 'should return the number of tokens if no tokens given' do
+ document.size.should == 4
+ end
- describe '#terms' do
- it 'should return the terms if no tokens given' do
- document.terms.sort.should == ['bar', 'foo']
- end
+ it 'should return the number of tokens if tokens given' do
+ document_with_tokens.size.should == 3
+ end
- it 'should return the terms if tokens given' do
- document_with_tokens.terms.sort.should == ['bar', 'foo-foo']
- end
+ it 'should return the number of tokens if no text given' do
+ document_without_text.size.should == 0
+ end
- it 'should return no terms if no text given' do
- document_without_text.terms.should == []
- end
+ it 'should return the number of tokens if term counts given' do
+ document_with_term_counts.size.should == 15
+ end
- it 'should return the terms if term counts given' do
- document_with_term_counts.terms.sort.should == ['bar', 'baz']
- end
- end
+ it 'should return the given number of tokens if term counts and size given' do
+ document_with_term_counts_and_size.size.should == 20
+ end
- describe '#term_count' do
- it 'should return the term count if no tokens given' do
- document.term_count('foo').should == 2
+ it 'should not return the given number of tokens if term counts not given' do
+ document_with_size.size.should_not == 10
+ end
end
- it 'should return the term count if tokens given' do
- document_with_tokens.term_count('foo-foo').should == 1
+ describe '#term_counts' do
+ it 'should return the term counts if no tokens given' do
+ document.term_counts.should == {'foo' => 2, 'bar' => 2}
+ end
+
+ it 'should return the term counts if tokens given' do
+ document_with_tokens.term_counts.should == {'foo-foo' => 1, 'bar' => 2}
+ end
+
+ it 'should return no term counts if no text given' do
+ document_without_text.term_counts.should == {}
+ end
+
+ it 'should return the term counts if term counts given' do
+ document_with_term_counts.term_counts.should == {'bar' => 5, 'baz' => 10}
+ end
end
- it 'should return no term count if no text given' do
- document_without_text.term_count('foo').should == 0
+ describe '#terms' do
+ it 'should return the terms if no tokens given' do
+ document.terms.sort.should == ['bar', 'foo']
+ end
+
+ it 'should return the terms if tokens given' do
+ document_with_tokens.terms.sort.should == ['bar', 'foo-foo']
+ end
+
+ it 'should return no terms if no text given' do
+ document_without_text.terms.should == []
+ end
+
+ it 'should return the terms if term counts given' do
+ document_with_term_counts.terms.sort.should == ['bar', 'baz']
+ end
end
- it 'should return the term count if term counts given' do
- document_with_term_counts.term_count('bar').should == 5
+ describe '#term_count' do
+ it 'should return the term count if no tokens given' do
+ document.term_count('foo').should == 2
+ end
+
+ it 'should return the term count if tokens given' do
+ document_with_tokens.term_count('foo-foo').should == 1
+ end
+
+ it 'should return no term count if no text given' do
+ document_without_text.term_count('foo').should == 0
+ end
+
+ it 'should return the term count if term counts given' do
+ document_with_term_counts.term_count('bar').should == 5
+ end
end
end
end