Sha256: 9be107f07c8fff3950d045d04d9166e48e94ea491ec63565e84e9530441d10a3

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

require 'helper'

class TestSoulmate < Test::Unit::TestCase
  def test_integration_can_load_values_and_query
    items = []
    venues = File.open(File.expand_path(File.dirname(__FILE__)) + '/samples/venues.json', "r")
    venues.each_line do |venue|
      items << JSON.parse(venue)
    end
    
    items_loaded = Soulmate::Loader.new('venues').load(items)
    
    assert_equal 6, items_loaded
    
    matcher = Soulmate::Matcher.new('venues')
    results = matcher.matches_for_term('stad', :limit => 5)
    
    assert_equal 5, results.size
    assert_equal 'Citi Field', results[0]['term']
  end
  
  def test_integration_can_load_values_and_query_via_aliases
    items = []
    venues = File.open(File.expand_path(File.dirname(__FILE__)) + '/samples/venues.json', "r")
    venues.each_line do |venue|
      items << JSON.parse(venue)
    end
    
    items_loaded = Soulmate::Loader.new('venues').load(items)
    
    assert_equal 6, items_loaded
    
    matcher = Soulmate::Matcher.new('venues')
    results = matcher.matches_for_term('land shark stadium', :limit => 5)
    
    assert_equal 1, results.size
    assert_equal 'Sun Life Stadium', results[0]['term']
    
    # Make sure we don't get dupes between aliases and the original term
    # this shouldn't happen due to Redis doing an intersect, but just in case!
    
    results = matcher.matches_for_term('stadium', :limit => 5)    
    assert_equal 5, results.size
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soulmate-0.0.4 test/test_soulmate.rb