#
# Copyright (C) 2006 SIPfoundry Inc.
# Licensed by SIPfoundry under the LGPL license.
#
# Copyright (C) 2006 Pingtel Corp.
# Licensed to SIPfoundry under a Contributor Agreement.
#
##############################################################################
require File.join(File.dirname(__FILE__), '..', 'test_helper')
require File.join(File.dirname(__FILE__), '..', '..', 'database_url')
class DatabaseUrlTest < Test::Unit::TestCase
def setup
@u1 = DatabaseUrl.new('a', 'b', 'c', 'd', 'e')
@u2 = DatabaseUrl.new('a', 'b', 'c', 'd', 'e')
@u3 = DatabaseUrl.new('z', 'b', 'c', 'd', 'e')
@u4 = DatabaseUrl.new(nil, 'b', 'c', 'd', 'e')
@u5 = DatabaseUrl.new('a', 'b', 'c', 'd', 'z')
end
def test_create_url
url = DatabaseUrl.new('database', 'port', 'host', 'adapter', 'username')
assert_equal('database', url.database)
assert_equal('port', url.port)
assert_equal('host', url.host)
assert_equal('adapter', url.adapter)
assert_equal('username', url.username)
h = url.to_hash
assert_equal(5, h.size());
assert_equal('database', h[:database])
assert_equal('port', h[:port])
assert_equal('host', h[:host])
assert_equal('adapter', h[:adapter])
assert_equal('username', h[:username])
end
def test_equality
assert_equal(@u1, @u2)
assert(@u1.eql?(@u2))
assert_not_equal(@u1, @u3)
assert_not_equal(@u1, @u4)
assert_not_equal(@u1, @u5)
assert_not_equal(@u2, @u5)
assert_not_equal(@u4, @u3)
end
def test_hash
assert_equal('a'.hash + 'b'.hash + 'c'.hash + 'd'.hash + 'e'.hash,
@u1.hash)
assert_equal(@u1.hash, @u2.hash)
assert_not_equal(@u1.hash, @u3.hash)
assert_not_equal(@u1.hash, @u4.hash)
assert_not_equal(@u1.hash, @u5.hash)
assert_not_equal(@u2.hash, @u5.hash)
assert_not_equal(@u4.hash, @u3.hash)
end
end
syntax highlighted by Code2HTML, v. 0.9.1