rubeus 0.0.8-java → 0.0.9-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +8 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +55 -16
- data/VERSION +1 -0
- data/examples/.gitignore +1 -0
- data/examples/JavaSwingExample01.java +41 -0
- data/examples/jdbc_example.rb +1 -2
- data/examples/notepad.rb +15 -17
- data/examples/nyanco_viewer/nekobean_LICENSE.txt +22 -0
- data/examples/rubeus_swing_example01.rb +0 -2
- data/examples/rubeus_swing_example01_with_class.rb +1 -3
- data/examples/rubeus_swing_jdbc_example01.rb +5 -0
- data/java/.gitignore +3 -0
- data/java/mvn_plugins.yml +57 -0
- data/java/pom.xml +30 -0
- data/java/src/main/java/jp/rubybizcommons/rubeus/extensions/javax/swing/table/DelegatableTableModel.java +54 -0
- data/java/src/main/java/jp/rubybizcommons/rubeus/extensions/javax/swing/table/ReadonlyableTableModel.java +24 -0
- data/lib/rubeus.rb +6 -4
- data/lib/rubeus/awt/attributes.rb +5 -5
- data/lib/rubeus/awt/event.rb +8 -8
- data/lib/rubeus/awt/nestable.rb +4 -4
- data/lib/rubeus/awt/setters.rb +1 -1
- data/lib/rubeus/component_loader.rb +12 -11
- data/lib/rubeus/extensions.rb +6 -6
- data/lib/rubeus/extensions/java.rb +1 -0
- data/lib/rubeus/extensions/java/awt/dimension.rb +1 -1
- data/lib/rubeus/extensions/java/lang.rb +5 -0
- data/lib/rubeus/extensions/java/lang/reflect.rb +4 -0
- data/lib/rubeus/extensions/java/lang/reflect/method.rb +23 -0
- data/lib/rubeus/extensions/java/sql/connection.rb +2 -2
- data/lib/rubeus/extensions/java/sql/database_meta_data.rb +9 -9
- data/lib/rubeus/extensions/java/sql/driver_manager.rb +80 -79
- data/lib/rubeus/extensions/java/sql/result_set.rb +6 -6
- data/lib/rubeus/extensions/java/sql/result_set_meta_data.rb +4 -4
- data/lib/rubeus/extensions/javax/swing/box_layout.rb +4 -4
- data/lib/rubeus/extensions/javax/swing/j_component.rb +1 -1
- data/lib/rubeus/extensions/javax/swing/j_editor_pane.rb +5 -0
- data/lib/rubeus/extensions/javax/swing/j_frame.rb +1 -1
- data/lib/rubeus/extensions/javax/swing/j_list.rb +5 -0
- data/lib/rubeus/extensions/javax/swing/j_scroll_pane.rb +1 -1
- data/lib/rubeus/extensions/javax/swing/j_split_pane.rb +1 -1
- data/lib/rubeus/extensions/javax/swing/j_table.rb +2 -2
- data/lib/rubeus/extensions/javax/swing/j_text_pane.rb +7 -0
- data/lib/rubeus/extensions/javax/swing/table/default_table_model.rb +10 -10
- data/lib/rubeus/extensions/javax/swing/timer.rb +3 -3
- data/lib/rubeus/jdbc.rb +2 -2
- data/lib/rubeus/jdbc/closeable_resource.rb +1 -1
- data/lib/rubeus/jdbc/column.rb +19 -14
- data/lib/rubeus/jdbc/foreign_key.rb +14 -9
- data/lib/rubeus/jdbc/index.rb +15 -10
- data/lib/rubeus/jdbc/meta_element.rb +8 -8
- data/lib/rubeus/jdbc/primary_key.rb +26 -7
- data/lib/rubeus/jdbc/result_set_column.rb +3 -3
- data/lib/rubeus/jdbc/table.rb +47 -36
- data/lib/rubeus/reflection.rb +17 -0
- data/lib/rubeus/swing.rb +1 -1
- data/lib/rubeus/util.rb +3 -0
- data/lib/rubeus/util/java_method_name.rb +31 -0
- data/lib/rubeus/util/name_access_array.rb +6 -4
- data/lib/rubeus/verboseable.rb +3 -3
- data/rmaven.yml +5 -0
- data/rubeus.gemspec +202 -0
- data/test/rubeus/extensions/java/awt/test_dimension.rb +47 -47
- data/test/rubeus/extensions/java/sql/test_database_meta_data.rb +86 -40
- data/test/rubeus/extensions/java/sql/test_driver_manager.rb +9 -2
- data/test/rubeus/extensions/java/sql/test_sql_helper.rb +4 -4
- data/test/rubeus/reflection/test_method_modifier.rb +107 -0
- data/test/rubeus/test_extensions.rb +30 -30
- data/test/rubeus_test.jar +0 -0
- data/test_jar/.classpath +7 -0
- data/test_jar/.gitignore +1 -0
- data/test_jar/.project +17 -0
- data/test_jar/mvn_plugins.yml +57 -0
- data/test_jar/pom.xml +25 -0
- data/test_jar/src/main/java/jp/rubybizcommons/rubeus/test/reflection/VariousFields.java +13 -0
- data/test_jar/src/main/java/jp/rubybizcommons/rubeus/test/reflection/VariousMethods.java +14 -0
- data/test_jar/src/test/java/jp/rubybizcommons/rubeus/test/AppTest.java +38 -0
- metadata +137 -47
- data/test/test_all.rb +0 -2
@@ -4,64 +4,64 @@ require 'rubeus'
|
|
4
4
|
|
5
5
|
# Test for Rubeus::Extensions::Java::Awt
|
6
6
|
class TestDimension < Test::Unit::TestCase
|
7
|
-
|
7
|
+
include Rubeus::Awt
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
# setup method
|
10
|
+
def setup
|
11
|
+
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
# create with array size 0
|
14
|
+
def test_create_with_array_size_0
|
15
|
+
d = Dimension.create([])
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
assert_equal(0, d.width)
|
18
|
+
assert_equal(0, d.height)
|
19
|
+
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
# create with array size 1
|
22
|
+
def test_create_with_array_size_1
|
23
|
+
assert_raise(ArgumentError) do
|
24
|
+
d = Dimension.create([200])
|
25
|
+
end
|
26
|
+
end
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
# create with array size 2
|
29
|
+
def test_create_with_array_size_2
|
30
|
+
d = Dimension.create([200, 300])
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
assert_equal(200, d.width)
|
33
|
+
assert_equal(300, d.height)
|
34
|
+
end
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
# create with array size 3
|
37
|
+
def test_create_with_array_size_3
|
38
|
+
assert_raise(ArgumentError) do
|
39
|
+
d = Dimension.create([200, 300, 400])
|
40
|
+
end
|
41
|
+
end
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
# create with dimension object
|
44
|
+
def test_create_with_dimension
|
45
|
+
d = Dimension.create([300, 400])
|
46
|
+
d2 = Dimension.create(d)
|
47
47
|
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
assert_equal(d.width, d2.width)
|
49
|
+
assert_equal(d.height, d2.height)
|
50
|
+
end
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
# create with multiply expression
|
53
|
+
def test_create_with_multiply expression
|
54
|
+
d = Dimension.create("400 x 500")
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
56
|
+
assert_equal(400, d.width)
|
57
|
+
assert_equal(500, d.height)
|
58
|
+
end
|
59
59
|
|
60
|
-
|
61
|
-
|
62
|
-
|
60
|
+
# create with original constructor
|
61
|
+
def test_create_with_original_constructor
|
62
|
+
d = Dimension.create(600, 350)
|
63
63
|
|
64
|
-
|
65
|
-
|
66
|
-
|
64
|
+
assert_equal(600, d.width)
|
65
|
+
assert_equal(350, d.height)
|
66
|
+
end
|
67
67
|
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'rubygems'
|
3
3
|
require 'rubeus'
|
4
|
+
# gem "activesupport"
|
5
|
+
# require 'active_support/test_case'
|
4
6
|
require 'test/rubeus/extensions/java/sql/test_sql_helper'
|
5
7
|
|
6
8
|
# Test for lib/rubeus/extensions/java/sql/database_meta_data.rb
|
7
|
-
class TestDatabaseMetaData < Test::Unit::TestCase
|
9
|
+
class TestDatabaseMetaData < Test::Unit::TestCase # ActiveSupport::TestCase
|
8
10
|
include TestSqlHelper
|
9
11
|
|
10
12
|
def setup
|
@@ -21,18 +23,18 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
21
23
|
DEPART_TIME TIME,
|
22
24
|
DEST_AIRPORT CHAR(3),
|
23
25
|
ARRIVE_TIME TIME,
|
24
|
-
MEAL CHAR(1) CONSTRAINT MEAL_CONSTRAINT
|
26
|
+
MEAL CHAR(1) CONSTRAINT MEAL_CONSTRAINT
|
25
27
|
CHECK (MEAL IN ('B', 'L', 'D', 'S')),
|
26
28
|
PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER)
|
27
29
|
);
|
28
30
|
CREATE TABLE FLTAVAIL(
|
29
|
-
FLIGHT_ID CHAR(6) NOT NULL,
|
30
|
-
SEGMENT_NUMBER INT NOT NULL,
|
31
|
-
FLIGHT_DATE DATE NOT NULL,
|
31
|
+
FLIGHT_ID CHAR(6) NOT NULL,
|
32
|
+
SEGMENT_NUMBER INT NOT NULL,
|
33
|
+
FLIGHT_DATE DATE NOT NULL,
|
32
34
|
ECONOMY_SEATS_TAKEN INT,
|
33
35
|
BUSINESS_SEATS_TAKEN INT,
|
34
|
-
FIRSTCLASS_SEATS_TAKEN INT,
|
35
|
-
CONSTRAINT FLTAVAIL_PK PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER),
|
36
|
+
FIRSTCLASS_SEATS_TAKEN INT,
|
37
|
+
CONSTRAINT FLTAVAIL_PK PRIMARY KEY (FLIGHT_ID, SEGMENT_NUMBER),
|
36
38
|
CONSTRAINT FLTS_FK
|
37
39
|
FOREIGN KEY (FLIGHT_ID, SEGMENT_NUMBER)
|
38
40
|
REFERENCES Flights (FLIGHT_ID, SEGMENT_NUMBER)
|
@@ -62,7 +64,7 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
62
64
|
EOS
|
63
65
|
end
|
64
66
|
end
|
65
|
-
|
67
|
+
|
66
68
|
def teardown
|
67
69
|
teardown_connection
|
68
70
|
end
|
@@ -79,24 +81,33 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
79
81
|
rescue => e
|
80
82
|
puts e.to_s
|
81
83
|
puts e.backtrace.join("\n ")
|
82
|
-
|
84
|
+
raise e
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_table_inspect_with_downcase
|
88
|
+
tables = @con.meta_data.tables(:schema => "APP", :name_case => :downcase)
|
89
|
+
assert_equal "#<Rubeus::Jdbc::Table flights(flight_id,segment_number,orig_airport,depart_time,dest_airport,arrive_time,meal)>", tables['flights'].inspect
|
90
|
+
assert_equal "#<Rubeus::Jdbc::Table fltavail(flight_id,segment_number,flight_date,economy_seats_taken,business_seats_taken,firstclass_seats_taken)>", tables['fltavail'].inspect
|
91
|
+
assert_equal "#<Rubeus::Jdbc::Table cities(id,city_name)>", tables['cities'].inspect
|
92
|
+
assert_equal "#<Rubeus::Jdbc::Table metropolitan(hotel_id,hotel_name,city_id)>", tables['metropolitan'].inspect
|
93
|
+
assert_equal "#<Rubeus::Jdbc::Table test1(id,name)>", tables['test1'].inspect
|
83
94
|
end
|
84
|
-
|
95
|
+
|
85
96
|
def assert_column(table, name, type, size, nullable)
|
86
97
|
column = table.columns[name]
|
87
98
|
assert_not_nil column, "column '#{name}' not found"
|
88
|
-
assert_equal(java.sql.Types.const_get(type.to_s.upcase), column.data_type,
|
99
|
+
assert_equal(java.sql.Types.const_get(type.to_s.upcase), column.data_type,
|
89
100
|
"column '#{name}' type expected #{java.sql.Types.const_get(type.to_s.upcase).inspect} but #{column.data_type.inspect}")
|
90
|
-
assert_equal(size, column.size,
|
101
|
+
assert_equal(size, column.size,
|
91
102
|
"column '#{name}' size expected #{size.inspect} but #{column.size.inspect}")
|
92
|
-
assert_equal(nullable, column.nullable?,
|
103
|
+
assert_equal(nullable, column.nullable?,
|
93
104
|
"column '#{name}' nullable expected #{nullable.inspect} but #{column.nullable?.inspect}")
|
94
|
-
assert_equal(nullable ?
|
95
|
-
java.sql.DatabaseMetaData.columnNullable :
|
105
|
+
assert_equal(nullable ?
|
106
|
+
java.sql.DatabaseMetaData.columnNullable :
|
96
107
|
java.sql.DatabaseMetaData.columnNoNulls, column.nullable)
|
97
108
|
assert_equal column, table[name]
|
98
109
|
end
|
99
|
-
|
110
|
+
|
100
111
|
def test_table_object_columns
|
101
112
|
tables = @con.meta_data.tables(:schema => "APP", :name_case => :downcase)
|
102
113
|
#
|
@@ -109,6 +120,13 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
109
120
|
assert_column(flights, 'dest_airport', :char, 3, true)
|
110
121
|
assert_column(flights, 'arrive_time', :time, 8, true)
|
111
122
|
assert_column(flights, 'meal', :char, 1, true)
|
123
|
+
assert_equal "#<Rubeus::Jdbc::Column flight_id CHAR(6) NOT NULL>", flights.columns["flight_id"].inspect
|
124
|
+
assert_equal "#<Rubeus::Jdbc::Column segment_number INTEGER(10) NOT NULL>", flights.columns["segment_number"].inspect
|
125
|
+
assert_equal "#<Rubeus::Jdbc::Column orig_airport CHAR(3) NULL>", flights.columns["orig_airport"].inspect
|
126
|
+
assert_equal "#<Rubeus::Jdbc::Column depart_time TIME(8) NULL>", flights.columns["depart_time"].inspect
|
127
|
+
assert_equal "#<Rubeus::Jdbc::Column dest_airport CHAR(3) NULL>", flights.columns["dest_airport"].inspect
|
128
|
+
assert_equal "#<Rubeus::Jdbc::Column arrive_time TIME(8) NULL>", flights.columns["arrive_time"].inspect
|
129
|
+
assert_equal "#<Rubeus::Jdbc::Column meal CHAR(1) NULL>", flights.columns["meal"].inspect
|
112
130
|
#
|
113
131
|
assert_not_nil fltavail = tables['fltavail']
|
114
132
|
assert_equal 6, fltavail.columns.length
|
@@ -118,39 +136,52 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
118
136
|
assert_column(fltavail, 'economy_seats_taken', :integer, 10, true)
|
119
137
|
assert_column(fltavail, 'business_seats_taken', :integer, 10, true)
|
120
138
|
assert_column(fltavail, 'firstclass_seats_taken', :integer, 10, true)
|
139
|
+
assert_equal "#<Rubeus::Jdbc::Column flight_id CHAR(6) NOT NULL>", fltavail.columns["flight_id"].inspect
|
140
|
+
assert_equal "#<Rubeus::Jdbc::Column segment_number INTEGER(10) NOT NULL>", fltavail.columns["segment_number"].inspect
|
141
|
+
assert_equal "#<Rubeus::Jdbc::Column flight_date DATE(10) NOT NULL>", fltavail.columns["flight_date"].inspect
|
142
|
+
assert_equal "#<Rubeus::Jdbc::Column economy_seats_taken INTEGER(10) NULL>", fltavail.columns["economy_seats_taken"].inspect
|
143
|
+
assert_equal "#<Rubeus::Jdbc::Column business_seats_taken INTEGER(10) NULL>", fltavail.columns["business_seats_taken"].inspect
|
144
|
+
assert_equal "#<Rubeus::Jdbc::Column firstclass_seats_taken INTEGER(10) NULL>", fltavail.columns["firstclass_seats_taken"].inspect
|
121
145
|
#
|
122
146
|
assert_not_nil ctiies = tables['cities']
|
123
147
|
assert_equal 2, ctiies.columns.length
|
124
148
|
assert_column(ctiies, 'id', :integer, 10, false)
|
125
149
|
assert_column(ctiies, 'city_name', :varchar, 50, true)
|
150
|
+
assert_equal "#<Rubeus::Jdbc::Column id INTEGER(10) NOT NULL>", ctiies.columns["id"].inspect
|
151
|
+
assert_equal "#<Rubeus::Jdbc::Column city_name VARCHAR(50) NULL>", ctiies.columns["city_name"].inspect
|
126
152
|
#
|
127
153
|
assert_not_nil metropolitan = tables['metropolitan']
|
128
154
|
assert_equal 3, metropolitan.columns.length
|
129
155
|
assert_column(metropolitan, 'hotel_id', :integer, 10, false)
|
130
156
|
assert_column(metropolitan, 'hotel_name', :varchar, 40, false)
|
131
157
|
assert_column(metropolitan, 'city_id', :integer, 10, true)
|
158
|
+
assert_equal "#<Rubeus::Jdbc::Column hotel_id INTEGER(10) NOT NULL>", metropolitan.columns["hotel_id"].inspect
|
159
|
+
assert_equal "#<Rubeus::Jdbc::Column hotel_name VARCHAR(40) NOT NULL>", metropolitan.columns["hotel_name"].inspect
|
160
|
+
assert_equal "#<Rubeus::Jdbc::Column city_id INTEGER(10) NULL>", metropolitan.columns["city_id"].inspect
|
132
161
|
#
|
133
162
|
assert_not_nil test1 = tables['test1']
|
134
163
|
assert_equal 2, test1.columns.length
|
135
164
|
assert_column(test1, 'id', :integer, 10, false)
|
136
165
|
assert_column(test1, 'name', :varchar, 60, true)
|
166
|
+
assert_equal "#<Rubeus::Jdbc::Column id INTEGER(10) NOT NULL>", test1.columns["id"].inspect
|
167
|
+
assert_equal "#<Rubeus::Jdbc::Column name VARCHAR(60) NULL>", test1.columns["name"].inspect
|
137
168
|
rescue => e
|
138
169
|
puts e.to_s
|
139
170
|
puts e.backtrace.join("\n ")
|
140
171
|
raise e
|
141
172
|
end
|
142
|
-
|
173
|
+
|
143
174
|
def assert_pk(table, names)
|
144
|
-
assert_equal names.length, table.primary_keys.length
|
145
|
-
assert_equal names, table.pks.map{|k| k.name}
|
146
|
-
assert_equal names, table.primary_keys.map{|k| k.name}
|
147
175
|
assert_equal names, table.pk_names
|
148
176
|
assert_equal names, table.primary_key_names
|
149
177
|
names.each_with_index do |name, index|
|
150
|
-
assert_equal name, table.
|
151
|
-
assert_equal
|
178
|
+
assert_equal table.columns[name], table.primary_key.columns[index]
|
179
|
+
assert_equal table.columns[name], table.primary_key.columns[name]
|
180
|
+
assert_equal table.columns[name], table.primary_key_columns[index]
|
152
181
|
assert_equal table.columns[name], table.primary_key_columns[name]
|
182
|
+
assert_equal table.columns[name], table.pk_columns[index]
|
153
183
|
assert_equal table.columns[name], table.pk_columns[name]
|
184
|
+
assert_equal name, table.primary_key[index]
|
154
185
|
end
|
155
186
|
case names.length
|
156
187
|
when 0
|
@@ -161,20 +192,22 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
161
192
|
assert_equal nil, table.pk_column
|
162
193
|
assert_equal nil, table.primary_key_column
|
163
194
|
when 1
|
164
|
-
assert_equal table.pks.first, table.pk
|
165
|
-
assert_equal table.pks.first, table.primary_key
|
166
195
|
assert_equal table.pk_names.first, table.pk_name
|
167
196
|
assert_equal table.pk_names.first, table.primary_key_name
|
168
197
|
assert_equal table.pk_columns.first, table.pk_column
|
169
198
|
assert_equal table.pk_columns.first, table.primary_key_column
|
170
199
|
else
|
171
|
-
assert_equal table.pks, table.pk
|
172
|
-
assert_equal table.pks, table.primary_key
|
173
200
|
assert_equal table.pk_names, table.pk_name
|
174
201
|
assert_equal table.pk_names, table.primary_key_name
|
175
202
|
assert_equal table.pk_columns, table.pk_column
|
176
203
|
assert_equal table.pk_columns, table.primary_key_column
|
177
204
|
end
|
205
|
+
if names.length > 0
|
206
|
+
assert_equal names.length, table.primary_key.length
|
207
|
+
assert_equal names, table.primary_key.column_names
|
208
|
+
assert_equal names, table.pk.column_names
|
209
|
+
assert_equal "#<Rubeus::Jdbc::PrimaryKey #{table.name}(#{names.join(',')})>", table.primary_key.inspect
|
210
|
+
end
|
178
211
|
table.columns.each do |column|
|
179
212
|
if table.pk_names.include?(column.name)
|
180
213
|
assert_equal true, column.primary_key?, "#{table.name}.#{column.name} shoud be one of pk"
|
@@ -185,7 +218,7 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
185
218
|
end
|
186
219
|
end
|
187
220
|
end
|
188
|
-
|
221
|
+
|
189
222
|
def test_table_objects_pk
|
190
223
|
tables = @con.meta_data.tables(:schema => "APP", :name_case => :downcase)
|
191
224
|
assert_pk(tables['flights'], %w(flight_id segment_number))
|
@@ -194,40 +227,48 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
194
227
|
assert_pk(tables['metropolitan'], %w(hotel_id))
|
195
228
|
assert_pk(tables['test1'], [])
|
196
229
|
end
|
197
|
-
|
230
|
+
|
198
231
|
def assert_index(table, index_name, key_names, asc_descs)
|
199
232
|
assert_equal key_names, table.indexes[index_name].keys.map{|k| k.name}
|
200
233
|
assert_equal asc_descs, table.indexes[index_name].keys.map{|k| k.asc?}
|
201
234
|
end
|
202
|
-
|
235
|
+
|
203
236
|
def test_table_objects_index
|
204
237
|
tables = @con.meta_data.tables(:schema => "APP", :name_case => :downcase)
|
205
238
|
# assert_equal %w(idx_flight_01 idx_flight_02 idx_flight_03), tables['flights'].indexes.map{|idx| idx.name}
|
206
239
|
# assert_equal 3, tables['flights'].indexes.length
|
207
|
-
|
208
|
-
assert_index(
|
209
|
-
assert_index(
|
240
|
+
t = tables['flights']
|
241
|
+
assert_index(t, 'idx_flight_01', %w(orig_airport), [true])
|
242
|
+
assert_index(t, 'idx_flight_02', %w(orig_airport depart_time), [true, false])
|
243
|
+
assert_index(t, 'idx_flight_03', %w(dest_airport arrive_time), [true, false])
|
244
|
+
assert_equal "#<Rubeus::Jdbc::Index flights.idx_flight_01(orig_airport)>", t.indexes['idx_flight_01'].inspect
|
245
|
+
assert_equal "#<Rubeus::Jdbc::Index flights.idx_flight_02(orig_airport,depart_time DESC)>", t.indexes['idx_flight_02'].inspect
|
246
|
+
assert_equal "#<Rubeus::Jdbc::Index flights.idx_flight_03(dest_airport,arrive_time DESC)>", t.indexes['idx_flight_03'].inspect
|
247
|
+
|
210
248
|
# assert_equal 0, tables['fltavail'].indexes.length
|
211
|
-
|
249
|
+
|
212
250
|
# assert_equal 1, tables['cities'].indexes.length
|
213
251
|
assert_index(tables['cities'], 'idx_cities_01', %w(city_name), [true])
|
252
|
+
assert_equal "#<Rubeus::Jdbc::Index cities.idx_cities_01(city_name)>", tables['cities'].indexes['idx_cities_01'].inspect
|
253
|
+
|
214
254
|
# assert_equal 1, tables['metropolitan'].indexes.length
|
215
255
|
assert_index(tables['metropolitan'], 'idx_metropolitan_01', %w(city_id hotel_name), [true, true])
|
256
|
+
assert_equal "#<Rubeus::Jdbc::Index metropolitan.idx_metropolitan_01(city_id,hotel_name)>", tables['metropolitan'].indexes['idx_metropolitan_01'].inspect
|
216
257
|
|
217
258
|
# assert_equal 0, tables['test1'].indexes.length
|
218
259
|
end
|
219
|
-
|
260
|
+
|
220
261
|
def assert_fk(fk_name, pktable, pkcolumn_names, fktable, fkcolumn_names)
|
221
262
|
imported_key = fktable.imported_keys[fk_name]
|
222
263
|
exported_key = pktable.exported_keys[fk_name]
|
223
264
|
assert_equal fk_name, imported_key.name
|
224
265
|
assert_equal fk_name, exported_key.name
|
225
|
-
|
266
|
+
|
226
267
|
assert_equal pktable.name, imported_key.pktable.name
|
227
268
|
assert_equal fktable.name, imported_key.fktable.name
|
228
269
|
assert_equal pktable.name, exported_key.pktable.name
|
229
270
|
assert_equal fktable.name, exported_key.fktable.name
|
230
|
-
|
271
|
+
|
231
272
|
assert_equal pkcolumn_names.length, imported_key.length
|
232
273
|
assert_equal fkcolumn_names.length, exported_key.length
|
233
274
|
assert_equal imported_key.length, exported_key.length
|
@@ -243,15 +284,20 @@ class TestDatabaseMetaData < Test::Unit::TestCase
|
|
243
284
|
end
|
244
285
|
end
|
245
286
|
end
|
246
|
-
|
287
|
+
|
247
288
|
def test_table_objects_imported_keys_and_exported_keys
|
248
289
|
tables = @con.meta_data.tables(:schema => "APP", :name_case => :downcase)
|
249
|
-
assert_fk('flts_fk',
|
290
|
+
assert_fk('flts_fk',
|
250
291
|
tables['flights'], %w(flight_id segment_number),
|
251
292
|
tables['fltavail'], %w(flight_id segment_number))
|
252
|
-
|
293
|
+
assert_equal("#<Rubeus::Jdbc::ForeignKey flts_fk fltavail(flight_id,segment_number)=>flights(flight_id,segment_number)>",
|
294
|
+
tables['fltavail'].foreign_keys['flts_fk'].inspect)
|
295
|
+
|
296
|
+
assert_fk('metro_fk',
|
253
297
|
tables['cities'], %w(id),
|
254
298
|
tables['metropolitan'], %w(city_id))
|
299
|
+
assert_equal("#<Rubeus::Jdbc::ForeignKey metro_fk metropolitan(city_id)=>cities(id)>",
|
300
|
+
tables['metropolitan'].foreign_keys['metro_fk'].inspect)
|
255
301
|
end
|
256
|
-
|
302
|
+
|
257
303
|
end
|
@@ -12,7 +12,6 @@ class TestDriverManager < Test::Unit::TestCase
|
|
12
12
|
assert_nothing_raised do
|
13
13
|
@con = Rubeus::Jdbc::DriverManager.connect("jdbc:derby:test_db;create = true", "", "")
|
14
14
|
end
|
15
|
-
|
16
15
|
if @con
|
17
16
|
assert_equal(false, @con.closed?)
|
18
17
|
@con.close
|
@@ -33,5 +32,13 @@ class TestDriverManager < Test::Unit::TestCase
|
|
33
32
|
end
|
34
33
|
assert_nil(con)
|
35
34
|
end
|
36
|
-
end
|
37
35
|
|
36
|
+
def test_mysql_loader_entry
|
37
|
+
entry = Rubeus::Jdbc::DriverManager::Loader.entries.detect{|entry| entry.name == "MySQL"}
|
38
|
+
assert entry
|
39
|
+
assert_equal 1, entry.patterns.length
|
40
|
+
driver_name = entry.driver_for("jdbc:mysql://127.0.0.1")
|
41
|
+
assert_equal "com.mysql.jdbc.Driver", driver_name
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -6,7 +6,7 @@ module TestSqlHelper
|
|
6
6
|
def teardown_connection
|
7
7
|
@con.close
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
def close_if_no_statement(statement = nil)
|
11
11
|
must_be_closed = statement.nil?
|
12
12
|
statement ||= @con.create_statement
|
@@ -16,7 +16,7 @@ module TestSqlHelper
|
|
16
16
|
statement.close if must_be_closed
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def drop_table_if_exist(table_name, statement = nil)
|
21
21
|
close_if_no_statement(statement) do |stmt|
|
22
22
|
begin
|
@@ -26,7 +26,7 @@ module TestSqlHelper
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
def create_table_after_drop(create_ddl, statement = nil)
|
31
31
|
create_ddls = create_ddl.split(/\;/mi).map{|ddl| ddl.strip }.select{|ddl| !(ddl.nil? || ddl.empty?) }
|
32
32
|
table_names = create_ddls.map{|ddl| ddl.scan(/^\s*CREATE TABLE\s+?(.+?)[\s\($]/mi)}
|
@@ -39,5 +39,5 @@ module TestSqlHelper
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rubeus'
|
4
|
+
require File.expand_path('../../rubeus_test.jar', File.dirname(__FILE__))
|
5
|
+
|
6
|
+
class TestMethodModifier < Test::Unit::TestCase
|
7
|
+
include Rubeus::Reflection
|
8
|
+
|
9
|
+
VariousMethods = jp.rubybizcommons.rubeus.test.reflection.VariousMethods
|
10
|
+
|
11
|
+
def test_static?
|
12
|
+
[java.lang.String, java.lang.Object, java.lang.Class, VariousMethods].each do |klass|
|
13
|
+
klass.java_class.java_class_methods.each do |m|
|
14
|
+
assert_equal true, m.static?
|
15
|
+
end
|
16
|
+
klass.java_class.java_instance_methods.each do |m|
|
17
|
+
assert_equal false, m.static?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_abstract?
|
23
|
+
m = java.util.AbstractList.java_class.declared_instance_methods.detect{|m| m.name == "get"}
|
24
|
+
assert_equal true, m.abstract?
|
25
|
+
m = java.util.AbstractList.java_class.declared_instance_methods.detect{|m| m.name == "add"}
|
26
|
+
assert_equal false, m.abstract?
|
27
|
+
end
|
28
|
+
|
29
|
+
ALL_METHOD_NAMES = %w[main
|
30
|
+
staticPublicStrictfp staticProtectedFinal staticPackageSynchronized staticPrivate
|
31
|
+
publicStrictfp protectedFinal packageSynchronized privateFinal]
|
32
|
+
|
33
|
+
def assert_modifier_syms(method_name, expected_syms)
|
34
|
+
m = (VariousMethods.java_class.declared_instance_methods.detect{|m| m.name == method_name} ||
|
35
|
+
VariousMethods.java_class.declared_class_methods.detect{|m| m.name == method_name})
|
36
|
+
assert_equal expected_syms.map(&:to_s).sort, m.modifier_symbols.map(&:to_s).sort
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_modifier_symbols
|
40
|
+
assert_modifier_syms("main", [:public, :static])
|
41
|
+
# assert_modifier_syms("staticPublicStrictfp " , [:static, :public, :strict ])
|
42
|
+
assert_modifier_syms("staticProtectedFinal" , [:static, :protected, :final])
|
43
|
+
assert_modifier_syms("staticPackageSynchronized", [:static, :synchronized ])
|
44
|
+
assert_modifier_syms("staticPrivate" , [:static, :private ])
|
45
|
+
assert_modifier_syms("publicStrictfp" , [:public, :strict ])
|
46
|
+
assert_modifier_syms("protectedFinal" , [:protected, :final])
|
47
|
+
assert_modifier_syms("packageSynchronized", [:synchronized ])
|
48
|
+
assert_modifier_syms("privateFinal" , [:private, :final ])
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_public?
|
52
|
+
each_java_methods do |m|
|
53
|
+
assert_equal %w[main staticPublicStrictfp publicStrictfp].include?(m.name), m.public?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_protected?
|
58
|
+
each_java_methods do |m|
|
59
|
+
assert_equal %w[staticProtectedFinal protectedFinal].include?(m.name), m.protected?
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_package_scope?
|
64
|
+
each_java_methods do |m|
|
65
|
+
assert_equal %w[staticPackageSynchronized packageSynchronized].include?(m.name), m.package_scope?
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_private?
|
70
|
+
each_java_methods do |m|
|
71
|
+
assert_equal %w[staticPrivate privateFinal].include?(m.name), m.private?
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_final?
|
76
|
+
each_java_methods do |m|
|
77
|
+
assert_equal %w[staticProtectedFinal protectedFinal privateFinal].include?(m.name), m.final?
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_strict?
|
82
|
+
each_java_methods do |m|
|
83
|
+
assert_equal %w[main staticPublicStrictfp publicStrictfp].include?(m.name), m.public?
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_synchronized?
|
88
|
+
each_java_methods do |m|
|
89
|
+
assert_equal %w[staticPackageSynchronized packageSynchronized].include?(m.name), m.synchronized?
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
def each_java_methods(&block)
|
98
|
+
unless @test_methods
|
99
|
+
selector = lambda{|m| ALL_METHOD_NAMES.include?(m.name)}
|
100
|
+
@test_methods =
|
101
|
+
VariousMethods.java_class.declared_instance_methods.select(&selector) +
|
102
|
+
VariousMethods.java_class.declared_class_methods.select(&selector)
|
103
|
+
end
|
104
|
+
@test_methods.each(&block)
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|