sqlite_extension_test.rb
996 Bytes
require File.dirname(__FILE__) + '/test_helper'
if ActiveRecord::Base.connection.adapter_name =~ /^sqlite$/i
# this test only makes sense when using sqlite
class SQliteExtensionTest < Test::Unit::TestCase
def test_pow_function
assert_in_delta 8.0, ActiveRecord::Base.connection.execute('select pow(2.0, 3.0) as result').first['result'], 0.0001
end
def test_radians_function
assert_in_delta Math::PI/2, ActiveRecord::Base.connection.execute('select radians(90) as rad').first['rad'], 0.0001
end
def test_sqrt_function
assert_in_delta 1.4142, ActiveRecord::Base.connection.execute('select sqrt(2) as sqrt').first['sqrt'], 0.0001
end
def test_spheric_distance_function
args = [32.918593, -96.958444, 32.951613, -96.958444].map{|l|l * Math::PI/180}
assert_in_delta 2.28402, ActiveRecord::Base.connection.execute("select spheric_distance(#{args.inspect[1..-2]}, 3963.19) as dist").first['dist'], 0.0001
end
end
end