Sha256: 17a1aa74fd144fd534f08d37521dcc682b6e0ece9b5277a9ef8de6bd20490405

Contents?: true

Size: 729 Bytes

Versions: 1

Compression:

Stored size: 729 Bytes

Contents

require_relative 'spec_helper'

describe Melisa::Search do 
  let(:keys) { ['one', 'two', 'onetwo'] }
  let(:trie) { Melisa::Trie.new(keys) }
  
  it "iterates with each" do
    arr = []
    trie.each do |key|
      arr << key
    end
    arr.should =~ keys
  end

  it "implements enumerable methods" do
    trie.all? { |k| k.include? 'o' }.should be_true
    trie.any? { |k| k.include? 'z' }.should_not be_true
    trie.map { |k| k.upcase }.should =~ ['ONE', 'TWO', 'ONETWO']
  end

  it "narrows the search" do
    subset = trie.search('one')
    subset.should be_a(Melisa::Search)
    subset.size.should == 2
    subset.keys.should =~ ['one', 'onetwo']
    # subset.map { |k| k.upcase }.should =~ ['ONE', 'ONETWO']
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
melisa-0.1.0 spec/search_spec.rb