rubeus 0.0.8-java → 0.0.9-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|