-
Notifications
You must be signed in to change notification settings - Fork 49
/
bundle_indexing_spec.rb
70 lines (61 loc) · 1.94 KB
/
bundle_indexing_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
require 'spec_helper'
describe Picky::Bundle do
before(:each) do
@index = Picky::Index.new :some_index
@category = Picky::Category.new :some_category, @index
@weights = Picky::Weights::Logarithmic.new
@similarity = Picky::Similarity::DoubleMetaphone.new 3
end
let(:bundle) { described_class.new :some_name, @category, @weights, :some_partial, @similarity }
describe 'identifier' do
it 'should return a specific identifier' do
bundle.identifier.should == :'some_index:some_category:some_name'
end
end
describe 'similar' do
before(:each) do
bundle.add_similarity :dragon
bundle.add_similarity :dargon
end
it 'returns the right similars (not itself)' do
bundle.similar(:dragon).should == [:dargon]
end
it 'returns the right similars' do
bundle.similar(:trkn).should == [:dargon, :dragon]
end
it 'performs' do
performance_of { bundle.similar(:dragon) }.should < 0.000075
end
it 'performs' do
performance_of { bundle.similar(:trkn) }.should < 0.00006
end
end
describe 'dump' do
it 'should trigger dumps' do
bundle.dump
end
end
describe 'initialization' do
it 'should initialize the index correctly' do
bundle.inverted.should == {}
end
it 'should initialize the weights index correctly' do
bundle.weights.should == {}
end
it 'should initialize the similarity index correctly' do
bundle.similarity.should == {}
end
it 'should initialize the configuration correctly' do
bundle.configuration.should == {}
end
it 'should initialize the partial strategy correctly' do
bundle.partial_strategy.should == :some_partial
end
it 'should initialize the weights strategy correctly' do
bundle.weight_strategy.should == @weights
end
it 'should initialize the similarity strategy correctly' do
bundle.similarity_strategy.should == @similarity
end
end
end