提交 8c9f8052 编写于 作者: R Ryuta Kamizono

Move `migration/postgresql_geometric_types_test.rb` in `adapters/postgresql/geometric_test.rb`

上级 14314ca1
......@@ -234,3 +234,87 @@ def test_geometric_function
assert_equal [false, true], objs.map(&:isclosed)
end
end
class PostgreSQLGeometricTypesTest < ActiveRecord::PostgreSQLTestCase
attr_reader :connection, :table_name
def setup
super
@connection = ActiveRecord::Base.connection
@table_name = :testings
end
def test_creating_column_with_point_type
connection.create_table(table_name) do |t|
t.point :foo_point
end
assert_column_exists(:foo_point)
assert_type_correct(:foo_point, :point)
end
def test_creating_column_with_line_type
connection.create_table(table_name) do |t|
t.line :foo_line
end
assert_column_exists(:foo_line)
assert_type_correct(:foo_line, :line)
end
def test_creating_column_with_lseg_type
connection.create_table(table_name) do |t|
t.lseg :foo_lseg
end
assert_column_exists(:foo_lseg)
assert_type_correct(:foo_lseg, :lseg)
end
def test_creating_column_with_box_type
connection.create_table(table_name) do |t|
t.box :foo_box
end
assert_column_exists(:foo_box)
assert_type_correct(:foo_box, :box)
end
def test_creating_column_with_path_type
connection.create_table(table_name) do |t|
t.path :foo_path
end
assert_column_exists(:foo_path)
assert_type_correct(:foo_path, :path)
end
def test_creating_column_with_polygon_type
connection.create_table(table_name) do |t|
t.polygon :foo_polygon
end
assert_column_exists(:foo_polygon)
assert_type_correct(:foo_polygon, :polygon)
end
def test_creating_column_with_circle_type
connection.create_table(table_name) do |t|
t.circle :foo_circle
end
assert_column_exists(:foo_circle)
assert_type_correct(:foo_circle, :circle)
end
private
def assert_column_exists(column_name)
assert connection.column_exists?(table_name, column_name)
end
def assert_type_correct(column_name, type)
column = connection.columns(table_name).find { |c| c.name == column_name.to_s }
assert_equal type, column.type
end
end
require 'cases/helper'
module ActiveRecord
class Migration
class PostgreSQLGeometricTypesTest < ActiveRecord::TestCase
attr_reader :connection, :table_name
def setup
super
@connection = ActiveRecord::Base.connection
@table_name = :testings
end
if current_adapter?(:PostgreSQLAdapter)
def test_creating_column_with_point_type
connection.create_table(table_name) do |t|
t.point :foo_point
end
assert_column_exists(:foo_point)
assert_type_correct(:foo_point, :point)
end
def test_creating_column_with_line_type
connection.create_table(table_name) do |t|
t.line :foo_line
end
assert_column_exists(:foo_line)
assert_type_correct(:foo_line, :line)
end
def test_creating_column_with_lseg_type
connection.create_table(table_name) do |t|
t.lseg :foo_lseg
end
assert_column_exists(:foo_lseg)
assert_type_correct(:foo_lseg, :lseg)
end
def test_creating_column_with_box_type
connection.create_table(table_name) do |t|
t.box :foo_box
end
assert_column_exists(:foo_box)
assert_type_correct(:foo_box, :box)
end
def test_creating_column_with_path_type
connection.create_table(table_name) do |t|
t.path :foo_path
end
assert_column_exists(:foo_path)
assert_type_correct(:foo_path, :path)
end
def test_creating_column_with_polygon_type
connection.create_table(table_name) do |t|
t.polygon :foo_polygon
end
assert_column_exists(:foo_polygon)
assert_type_correct(:foo_polygon, :polygon)
end
def test_creating_column_with_circle_type
connection.create_table(table_name) do |t|
t.circle :foo_circle
end
assert_column_exists(:foo_circle)
assert_type_correct(:foo_circle, :circle)
end
end
private
def assert_column_exists(column_name)
columns = connection.columns(table_name)
assert columns.map(&:name).include?(column_name.to_s)
end
def assert_type_correct(column_name, type)
columns = connection.columns(table_name)
column = columns.select{ |c| c.name == column_name.to_s }.first
assert_equal type.to_s, column.sql_type
end
end
end
end
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册