Sha256: 431b260cd0dd6a89a06262bd4656d9287760e0a471c03e96109b6666efa4c468
Contents?: true
Size: 1.85 KB
Versions: 1
Compression:
Stored size: 1.85 KB
Contents
# encoding: utf-8 # require 'spec_helper' describe 'unique option on a search' do it 'works' do index = Picky::Index.new :non_unique do category :text1 category :text2 category :text3 category :text4 end thing = Struct.new :id, :text1, :text2, :text3, :text4 index.add thing.new(1, 'hello world', 'hello world', 'hello world', 'hello world') index.add thing.new(2, 'hello world', 'hello world', 'hello world', 'hello world') index.add thing.new(3, 'hello world', 'hello world', 'hello world', 'hello world') index.add thing.new(4, 'hello world', 'hello world', 'hello world', 'hello world') index.add thing.new(5, 'hello world', 'hello world', 'hello world', 'hello world') index.add thing.new(6, 'hello world', 'hello world', 'hello world', 'hello world') things = Picky::Search.new index things.search('hello', 100, 0).ids.should == [ 6, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1 ] things.search('hello', 100, 0, unique: true).ids.should == [ 6, 5, 4, 3, 2, 1 ] end it 'works' do index = Picky::Index.new :non_unique do category :text1 category :text2 end thing = Struct.new :id, :text1, :text2 index.add thing.new(1, 'one', 'two one') index.add thing.new(2, 'two', 'three') index.add thing.new(3, 'three', 'one') things = Picky::Search.new index things.search('one', 20, 0).ids.should == [3,1,1] things.search('one', 20, 0).allocations.to_s.should == '[[:non_unique, 0.693, 2, [[:text2, "one", "one"]], [3, 1]], [:non_unique, 0.0, 1, [[:text1, "one", "one"]], [1]]]' things.search('one', 20, 0, unique: true).ids.should == [3,1] things.search('one', 20, 0, unique: true).allocations.to_s.should == '[[:non_unique, 0.693, 2, [[:text2, "one", "one"]], [3, 1]]]' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
picky-4.4.0 | spec/functional/unique_ids_search_spec.rb |