hbase-jruby 0.6.4-java → 0.7.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  class HBase
2
2
  module JRuby
3
- VERSION = '0.6.4'
3
+ VERSION = '0.7.0'
4
4
  end
5
5
  end
data/lib/hbase-jruby.rb CHANGED
@@ -7,7 +7,6 @@ class HBase
7
7
  end
8
8
 
9
9
  require 'hbase-jruby/version'
10
- require 'hbase-jruby/dependency'
11
10
  require 'hbase-jruby/util'
12
11
  require 'hbase-jruby/byte_array'
13
12
  require 'hbase-jruby/cell'
@@ -24,4 +23,5 @@ require 'hbase-jruby/table/inspection'
24
23
  require 'hbase-jruby/table/checked_operation'
25
24
  require 'hbase-jruby/row'
26
25
  require 'hbase-jruby/hbase'
26
+ require 'hbase-jruby/dependency'
27
27
 
data/test/helper.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  $VERBOSE = true
2
2
 
3
- require 'rubygems'
4
- require "test-unit"
3
+ require 'minitest/autorun'
5
4
  require 'simplecov'
6
5
  SimpleCov.start
7
6
 
@@ -16,13 +15,11 @@ $rowkey = Time.now.to_i
16
15
 
17
16
  require "hbase-jruby"
18
17
  if jar = ENV['HBASE_JRUBY_TEST_JAR']
19
- require jar
20
- elsif dist = ENV['HBASE_JRUBY_TEST_DIST']
21
- HBase.resolve_dependency!(dist, :verbose => true)
18
+ $CLASSPATH << jar
22
19
  end
23
20
  HBase.log4j = { 'log4j.threshold' => 'ERROR' }
24
21
 
25
- class TestHBaseJRubyBase < Test::Unit::TestCase
22
+ class TestHBaseJRubyBase < Minitest::Test
26
23
  TABLE = 'test_hbase_jruby'
27
24
  ZK = ENV.fetch 'HBASE_JRUBY_TEST_ZK'
28
25
 
@@ -7,37 +7,37 @@ class TestAggregation < TestHBaseJRubyBase
7
7
  def test_aggregation
8
8
  omit 'AggregationClient is not found' unless @aggregation
9
9
 
10
- (1..100).each do |idx|
11
- @table.put idx, 'cf1:a' => idx, 'cf1:b' => idx * 2
12
- end
10
+ range = 1..100
11
+ @table.put range.map { |idx|
12
+ { idx => { 'cf1:a' => idx, 'cf1:b' => idx * 2 } }
13
+ }.reduce(&:merge)
13
14
 
14
15
  assert_nil @table.enable_aggregation!
15
16
  assert_nil @table.enable_aggregation! # no prob!
16
17
 
17
18
  lci = org.apache.hadoop.hbase.client.coprocessor.LongColumnInterpreter.new
19
+ scope = @table.range(range)
18
20
  [nil, :fixnum, :long, lci].each do |ci|
19
- assert_equal 100, @table.project('cf1:a').aggregate(:row_count, *[*ci].compact)
20
- assert_equal 5050, @table.project('cf1:a').aggregate(:sum, *[*ci].compact)
21
- assert_equal 1, @table.project('cf1:a').aggregate(:min, *[*ci].compact)
22
- assert_equal 100, @table.project('cf1:a').aggregate(:max, *[*ci].compact)
23
- assert_equal 50.5, @table.project('cf1:a').aggregate(:avg, *[*ci].compact)
24
- assert_equal 28, @table.project('cf1:a').aggregate(:std, *[*ci].compact).to_i # FIXME: 28 or 29?
21
+ assert_equal 100, scope.project('cf1:a').aggregate(:row_count, *[*ci].compact)
22
+ assert_equal 5050, scope.project('cf1:a').aggregate(:sum, *[*ci].compact)
23
+ assert_equal 1, scope.project('cf1:a').aggregate(:min, *[*ci].compact)
24
+ assert_equal 100, scope.project('cf1:a').aggregate(:max, *[*ci].compact)
25
+ assert_equal 50.5, scope.project('cf1:a').aggregate(:avg, *[*ci].compact)
26
+ assert_equal 28, scope.project('cf1:a').aggregate(:std, *[*ci].compact).to_i # FIXME: 28 or 29?
25
27
  end
26
28
 
27
29
  [%w[cf1:a cf1:b], %w[cf1]].each do |prj|
28
- assert_equal 5050 * 3, @table.project(*prj).aggregate(:sum)
29
- assert_equal 1, @table.project(*prj).aggregate(:min)
30
- assert_equal 200, @table.project(*prj).aggregate(:max)
30
+ assert_equal 5050 * 3, scope.project(*prj).aggregate(:sum)
31
+ assert_equal 1, scope.project(*prj).aggregate(:min)
32
+ assert_equal 200, scope.project(*prj).aggregate(:max)
31
33
  end
32
34
 
33
35
  # No projection
34
- assert_raise(ArgumentError) { @table.aggregate(:sum) }
35
- assert_raise(ArgumentError) { @table.scoped.aggregate(:sum) }
36
+ assert_raises(ArgumentError) { @table.aggregate(:sum) }
37
+ assert_raises(ArgumentError) { scope.aggregate(:sum) }
36
38
 
37
39
  # Invalid type
38
- assert_raise(ArgumentError) { @table.project('cf1:a').aggregate(:sum, :float) }
39
-
40
- @table.drop!
40
+ assert_raises(ArgumentError) { scope.project('cf1:a').aggregate(:sum, :double) }
41
41
  end
42
42
  end
43
43
 
@@ -3,7 +3,7 @@
3
3
  $LOAD_PATH.unshift File.expand_path('..', __FILE__)
4
4
  require 'helper'
5
5
 
6
- class TestByteArray < Test::Unit::TestCase
6
+ class TestByteArray < Minitest::Test
7
7
  def test_order
8
8
  [
9
9
  [(1..100).to_a, :fixnum],
@@ -66,7 +66,7 @@ class TestByteArray < Test::Unit::TestCase
66
66
  assert_equal 100, ba[0, 8].decode(:fixnum)
67
67
  assert_equal 200, ba[8...16].as(:fixnum)
68
68
  assert_equal "Hello", ba[16, 5].decode(:string)
69
- assert_equal 3.14, ba[21..-1].decode(:float)
69
+ assert_equal 3.14, ba[21..-1].decode(:double)
70
70
  assert_equal "H", ba[16].chr
71
71
  end
72
72
 
@@ -78,29 +78,29 @@ class TestByteArray < Test::Unit::TestCase
78
78
  assert_equal 22, ba.length
79
79
  assert_equal 200, ba.shift(:fixnum)
80
80
  assert_equal 14, ba.length
81
- assert_raise(ArgumentError) { ba.shift(:string) }
81
+ assert_raises(ArgumentError) { ba.shift(:string) }
82
82
  assert_equal "Hello", ba.shift(:string, 5)
83
83
  assert_equal 9, ba.length
84
84
  assert_equal false, ba.shift(:boolean)
85
85
  assert_equal 8, ba.length
86
- assert_equal 3.14, ba.shift(:float)
86
+ assert_equal 3.14, ba.shift(:double)
87
87
  assert_equal 0, ba.length
88
88
 
89
- assert_raise(ArgumentError) { ba.shift(:fixnum) }
89
+ assert_raises(ArgumentError) { ba.shift(:fixnum) }
90
90
  end
91
91
 
92
92
  def test_short_int
93
93
  assert_equal 1, HBase::ByteArray(:byte => 12).length
94
94
  assert_equal 12, HBase::ByteArray(:byte => 12).decode(:byte)
95
- assert_raise(RangeError) { HBase::ByteArray(:byte => 128) }
95
+ assert_raises(RangeError) { HBase::ByteArray(:byte => 128) }
96
96
 
97
97
  assert_equal 2, HBase::ByteArray(:short => 12345).length
98
98
  assert_equal 12345, HBase::ByteArray(:short => 12345).as(:short)
99
- assert_raise(RangeError) { HBase::ByteArray( :short => 1 << 16 ) }
99
+ assert_raises(RangeError) { HBase::ByteArray( :short => 1 << 16 ) }
100
100
 
101
101
  assert_equal 4, HBase::ByteArray(:int => 12345).length
102
102
  assert_equal 12345, HBase::ByteArray(:int => 12345).decode(:int)
103
- assert_raise(RangeError) { HBase::ByteArray.new( :int => 1 << 32 ) }
103
+ assert_raises(RangeError) { HBase::ByteArray.new( :int => 1 << 32 ) }
104
104
 
105
105
  ba = HBase::ByteArray( {:int => 10000}, 20000, {:short => 30000}, "Hello" )
106
106
  assert_equal 10000, ba[0, 4].as(:int)
@@ -140,7 +140,7 @@ class TestByteArray < Test::Unit::TestCase
140
140
  assert_equal 200, ba.shift(:long)
141
141
  assert_equal 300, ba.shift(:int)
142
142
  assert_equal "Hello", ba.shift(:string, 5)
143
- assert_equal 3.14, ba.shift(:float)
143
+ assert_equal 3.14, ba.shift(:double)
144
144
  end
145
145
 
146
146
  def test_to_s
data/test/test_cell.rb CHANGED
@@ -14,13 +14,14 @@ class TestCell < TestHBaseJRubyBase
14
14
  'value' => :string,
15
15
  :value => :symbol,
16
16
  123 => :fixnum,
17
- 123.456 => :float,
17
+ 123.456 => :double,
18
18
  true => :boolean,
19
19
  false => :boolean,
20
20
  BigDecimal.new("123.456") => :bigdecimal,
21
21
  { :int => 10240 } => :int,
22
22
  { :short => 1024 } => :short,
23
- { :byte => 100 } => :byte
23
+ { :byte => 100 } => :byte,
24
+ { :float => 123.0 } => :float
24
25
  }.each do |value, type|
25
26
  kv = KeyValue.new("rowkey".to_java_bytes, "hello".to_java_bytes, "world".to_java_bytes, ts, Util.to_bytes(value))
26
27
  cell = HBase::Cell.new(@table, kv) # FIXME
data/test/test_hbase.rb CHANGED
@@ -34,19 +34,19 @@ class TestHBase < TestHBaseJRubyBase
34
34
  assert @hbase.closed?
35
35
  assert table.closed?
36
36
 
37
- assert_raise(RuntimeError) { @hbase.list }
38
- assert_raise(RuntimeError) { table.exists? }
39
- assert_raise(RuntimeError) { table.drop! }
37
+ assert_raises(RuntimeError) { @hbase.list }
38
+ assert_raises(RuntimeError) { table.exists? }
39
+ assert_raises(RuntimeError) { table.drop! }
40
40
  # ...
41
41
 
42
42
  # get, delete, put, delete_row, increment, each
43
- assert_raise(RuntimeError) { table.first }
44
- assert_raise(RuntimeError) { table.get :key }
45
- assert_raise(RuntimeError) { table.put :key => {'cf1:a' => 100} }
46
- assert_raise(RuntimeError) { table.delete :key }
47
- assert_raise(RuntimeError) { table.delete_row :key }
48
- assert_raise(RuntimeError) { table.increment :key, 'cf1:a' => 1 }
49
- assert_raise(RuntimeError) { table.project('cf1:a').aggregate(:row_count) }
43
+ assert_raises(RuntimeError) { table.first }
44
+ assert_raises(RuntimeError) { table.get :key }
45
+ assert_raises(RuntimeError) { table.put :key => {'cf1:a' => 100} }
46
+ assert_raises(RuntimeError) { table.delete :key }
47
+ assert_raises(RuntimeError) { table.delete_row :key }
48
+ assert_raises(RuntimeError) { table.increment :key, 'cf1:a' => 1 }
49
+ assert_raises(RuntimeError) { table.project('cf1:a').aggregate(:row_count) }
50
50
 
51
51
  # Reconnect and check
52
52
  @hbase = connect
@@ -109,13 +109,13 @@ class TestHBase < TestHBaseJRubyBase
109
109
  hbase2.close
110
110
 
111
111
  # Connection is already closed
112
- assert_raise(RuntimeError) { hbase2[TABLE] }
113
- assert_raise(RuntimeError) { table.htable }
112
+ assert_raises(RuntimeError) { hbase2[TABLE] }
113
+ assert_raises(RuntimeError) { table.htable }
114
114
  end
115
115
 
116
116
  def test_reset_pool
117
117
  hbase2 = HBase.new @hbase.config
118
- omit_unless(hbase2.use_table_pool?) do
118
+ if hbase2.use_table_pool?
119
119
  table = hbase2[TABLE]
120
120
 
121
121
  htable = table.htable
data/test/test_schema.rb CHANGED
@@ -16,7 +16,7 @@ class TestSchema < TestHBaseJRubyBase
16
16
  def test_invalid_schema_type
17
17
  @hbase.schema = { @table.name => { :cf1 => { :a => 'string' } } }
18
18
 
19
- assert_raise(ArgumentError) do
19
+ assert_raises(ArgumentError) do
20
20
  @hbase.schema = { @table.name => { :cf1 => { :a => :xxx } } }
21
21
  end
22
22
  end
@@ -28,7 +28,7 @@ class TestSchema < TestHBaseJRubyBase
28
28
  :a => :fixnum,
29
29
  :b => :symbol,
30
30
  :c => :int,
31
- /^d/i => :float,
31
+ /^d/i => :double,
32
32
  'd2' => :short,
33
33
  },
34
34
  # Every column from cf2 is :string
@@ -36,7 +36,7 @@ class TestSchema < TestHBaseJRubyBase
36
36
 
37
37
  # cf3:f is a 8-byte integer
38
38
  :cf3 => { :f => :fixnum },
39
- 'cf3:g' => :float
39
+ 'cf3:g' => :double
40
40
  }
41
41
  }
42
42
 
@@ -135,8 +135,8 @@ class TestSchema < TestHBaseJRubyBase
135
135
  :name => :string,
136
136
  :age => :fixnum,
137
137
  :sex => :symbol,
138
- :height => :float,
139
- :weight => :float,
138
+ :height => :double,
139
+ :weight => :double,
140
140
  :alive => :boolean
141
141
  },
142
142
  :cf2 => {
@@ -188,7 +188,7 @@ class TestSchema < TestHBaseJRubyBase
188
188
  :year => :short,
189
189
  :pages => :int,
190
190
  :price => :bigdecimal,
191
- :weight => :float,
191
+ :weight => :double,
192
192
  :in_print => :boolean,
193
193
  :image => :raw
194
194
  },
@@ -331,7 +331,7 @@ class TestSchema < TestHBaseJRubyBase
331
331
  table.mutate(rk) do |m|
332
332
  m.delete :comment1, :comment2
333
333
  m.put :comment3 => 'nice', :comment4 => 'great'
334
- assert_raise(ArgumentError) {
334
+ assert_raises(ArgumentError) {
335
335
  m.put :some_unknown_column => 'perfect'
336
336
  }
337
337
  end
@@ -397,7 +397,7 @@ class TestSchema < TestHBaseJRubyBase
397
397
  }
398
398
 
399
399
  rk = next_rowkey
400
- assert_raise(ArgumentError) {
400
+ assert_raises(ArgumentError) {
401
401
  @table.put rk, :a => nil, :b => nil, :c => nil, 'cf1:z' => nil
402
402
  }
403
403
  @table.put rk, :a => nil, :b => nil, :c => nil, :d => 'yo', 'cf1:z' => 1000
@@ -425,7 +425,7 @@ class TestSchema < TestHBaseJRubyBase
425
425
  assert_equal 100, @table.get(rk)['cf1:a']
426
426
 
427
427
  @hbase.schema.delete @table.name
428
- assert_raise(ArgumentError) { @table.get(rk)[:a] }
428
+ assert_raises(ArgumentError) { @table.get(rk)[:a] }
429
429
  assert_equal true, HBase::Util.java_bytes?(@table.get(rk)['cf1:a'])
430
430
  assert_equal 100, HBase::Util.from_bytes(:fixnum, @table.get(rk)['cf1:a'])
431
431
  end
data/test/test_scoped.rb CHANGED
@@ -5,57 +5,57 @@ require 'helper'
5
5
 
6
6
  class TestScoped < TestHBaseJRubyBase
7
7
  def test_invalid_limit
8
- assert_raise(ArgumentError) { @table.limit }
9
- assert_raise(ArgumentError) { @table.limit(-1) }
10
- assert_raise(ArgumentError) { @table.limit("hello") }
8
+ assert_raises(ArgumentError) { @table.limit }
9
+ assert_raises(ArgumentError) { @table.limit(-1) }
10
+ assert_raises(ArgumentError) { @table.limit("hello") }
11
11
  end
12
12
 
13
13
  def test_invalid_versions
14
- assert_raise(ArgumentError) { @table.versions }
15
- assert_raise(ArgumentError) { @table.versions(0) }
16
- assert_raise(ArgumentError) { @table.versions("hello") }
14
+ assert_raises(ArgumentError) { @table.versions }
15
+ assert_raises(ArgumentError) { @table.versions(0) }
16
+ assert_raises(ArgumentError) { @table.versions("hello") }
17
17
  end
18
18
 
19
19
  def test_invalid_batch
20
- assert_raise(ArgumentError) { @table.batch }
21
- assert_raise(ArgumentError) { @table.batch(0) }
22
- assert_raise(ArgumentError) { @table.batch("hello") }
20
+ assert_raises(ArgumentError) { @table.batch }
21
+ assert_raises(ArgumentError) { @table.batch(0) }
22
+ assert_raises(ArgumentError) { @table.batch("hello") }
23
23
  end
24
24
 
25
25
  def test_invalid_range
26
- assert_raise(ArgumentError) { @table.range }
27
- assert_raise(ArgumentError) { @table.range(:xxx => 'row1') }
28
- assert_raise(ArgumentError) { @table.range({}) }
29
- assert_raise(ArgumentError) { @table.range(1, 2, 3) }
30
- assert_raise(ArgumentError) { @table.range(nil, nil) }
31
- assert_raise(ArgumentError) { @table.range(1..3, 4..5) }
26
+ assert_raises(ArgumentError) { @table.range }
27
+ assert_raises(ArgumentError) { @table.range(:xxx => 'row1') }
28
+ assert_raises(ArgumentError) { @table.range({}) }
29
+ assert_raises(ArgumentError) { @table.range(1, 2, 3) }
30
+ assert_raises(ArgumentError) { @table.range(nil, nil) }
31
+ assert_raises(ArgumentError) { @table.range(1..3, 4..5) }
32
32
  end
33
33
 
34
34
  def test_invalid_project
35
- assert_raise(ArgumentError) { @table.project(:offset => 'a', :limit => 10).to_a }
36
- assert_raise(ArgumentError) { @table.project(:offset => 10, :limit => 'a').to_a }
35
+ assert_raises(ArgumentError) { @table.project(:offset => 'a', :limit => 10).to_a }
36
+ assert_raises(ArgumentError) { @table.project(:offset => 10, :limit => 'a').to_a }
37
37
 
38
38
  @table.project(:offset => 100) # Fine yet
39
39
  @table.project(:limit => 10)
40
- assert_raise(ArgumentError) { @table.project(:offset => 100).to_a }
41
- assert_raise(ArgumentError) { @table.project(:limit => 10).to_a }
42
- assert_raise(ArgumentError) { @table.project(:offset => -1) }
43
- assert_raise(ArgumentError) { @table.project(:limit => -1) }
44
- assert_raise(ArgumentError) { @table.project(:offset => :a) }
45
- assert_raise(ArgumentError) { @table.project(:limit => :a) }
46
- assert_raise(ArgumentError) { @table.project(:xxx => 1) }
40
+ assert_raises(ArgumentError) { @table.project(:offset => 100).to_a }
41
+ assert_raises(ArgumentError) { @table.project(:limit => 10).to_a }
42
+ assert_raises(ArgumentError) { @table.project(:offset => -1) }
43
+ assert_raises(ArgumentError) { @table.project(:limit => -1) }
44
+ assert_raises(ArgumentError) { @table.project(:offset => :a) }
45
+ assert_raises(ArgumentError) { @table.project(:limit => :a) }
46
+ assert_raises(ArgumentError) { @table.project(:xxx => 1) }
47
47
  end
48
48
 
49
49
  def test_invalid_filter
50
- assert_raise(ArgumentError) { @table.filter(3.14) }
51
- assert_raise(ArgumentError) { @table.filter('cf1:a' => { :xxx => 50 }) }
52
- assert_raise(ArgumentError) { @table.filter('cf1:a' => { :eq => { 1 => 2 } }) }
50
+ assert_raises(ArgumentError) { @table.filter(3.14) }
51
+ assert_raises(ArgumentError) { @table.filter('cf1:a' => { :xxx => 50 }) }
52
+ assert_raises(ArgumentError) { @table.filter('cf1:a' => { :eq => { 1 => 2 } }) }
53
53
  end
54
54
 
55
55
  def test_each_and_count
56
- (101..150).each do |i|
57
- @table.put(i, 'cf1:a' => i, 'cf2:b' => i, 'cf3:c' => i * 3)
58
- end
56
+ @table.put (101..150).map { |i|
57
+ { i => { 'cf1:a' => i, 'cf2:b' => i, 'cf3:c' => i * 3 } }
58
+ }.reduce(&:merge)
59
59
 
60
60
  assert_instance_of HBase::Scoped, @table.scoped
61
61
  assert_instance_of Enumerator, @table.each
@@ -154,16 +154,24 @@ class TestScoped < TestHBaseJRubyBase
154
154
  end
155
155
 
156
156
  def test_filter_operator_and_short_int
157
- assert_raise(ArgumentError) {
157
+ assert_raises(ArgumentError) {
158
158
  @table.filter('cf1:a' => { :long => 100, :gt => 10 })
159
159
  }
160
160
  end
161
161
 
162
162
  def test_scan
163
163
  insert = lambda do
164
- (40..70).each do |i|
165
- @table.put(i, 'cf1:a' => i, 'cf2:b' => i * 2, 'cf3:c' => i * 3, 'cf3:d' => 'dummy', 'cf3:e' => 3.14)
166
- end
164
+ @table.put (40..70).map { |i|
165
+ {
166
+ i => {
167
+ 'cf1:a' => i,
168
+ 'cf2:b' => i * 2,
169
+ 'cf3:c' => i * 3,
170
+ 'cf3:d' => 'dummy',
171
+ 'cf3:e' => 3.14
172
+ }
173
+ }
174
+ }.reduce(&:merge)
167
175
  end
168
176
  insert.call
169
177
 
@@ -246,29 +254,20 @@ class TestScoped < TestHBaseJRubyBase
246
254
  end
247
255
 
248
256
  def test_scan_on_non_string_rowkey
249
- (1..20).each do |rk|
250
- @table.put rk, 'cf1:a' => rk
251
- end
257
+ @table.put (1..20).map { |rk| { rk => { 'cf1:a' => rk } } }.reduce(:merge)
252
258
  assert_equal 9, @table.range(1..9).count
253
259
  assert_equal [1, 2, 3, 4, 5, 6, 7, 8, 9], @table.range(1..9).map { |row| row.rowkey :fixnum }
254
260
  assert_equal 8, @table.range(1...9).count
255
261
 
256
- @table.truncate!
257
-
258
- (1..20).each do |rk|
259
- @table.put rk.to_s, 'cf1:a' => rk
260
- end
262
+ @table.put (1..20).map { |rk| { rk.to_s => { 'cf1:a' => rk } } }.reduce(:merge)
261
263
  assert_equal 20, @table.range('1'..'9').count
262
264
  assert_equal %w[1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 5 6 7 8 9], @table.range('1'..'9').map { |e| e.rowkey :string }
263
-
264
265
  assert_equal 19, @table.range('1'...'9').count
265
266
 
266
- @table.truncate!
267
+ @table.delete_row *(1..20).map { |i| [i, i.to_s] }.flatten
268
+
267
269
  data = { 'cf1:1' => 1 } # doesn't matter
268
- (1..15).each do |i|
269
- @table.put i, data
270
- @table.put i.to_s, data
271
- end
270
+ @table.put (1..15).map { |i| { i => data, i.to_s => data } }.reduce(:merge)
272
271
 
273
272
  assert_equal [1, 2, 3], @table.range(1..3).map { |r| r.rowkey :fixnum }
274
273
  assert_equal %w[1 10 11 12 13 14 15 2 3], @table.range('1'..'3').map { |r| r.rowkey :string }
@@ -293,7 +292,7 @@ class TestScoped < TestHBaseJRubyBase
293
292
  assert_instance_of org.apache.hadoop.hbase.client.UnmodifyableHTableDescriptor, @table.descriptor
294
293
 
295
294
  # Should be read-only
296
- assert_raise {
295
+ assert_raises(java.lang.UnsupportedOperationException) {
297
296
  @table.descriptor.setMaxFileSize 100 * 1024 ** 2
298
297
  }
299
298
  end
@@ -307,16 +306,17 @@ class TestScoped < TestHBaseJRubyBase
307
306
  end
308
307
 
309
308
  def test_null_filter
310
- 10.times do |i|
309
+ @table.put 10.times.map { |i|
311
310
  if i % 2 == 0
312
- @table.put i, 'cf1:col1' => true
311
+ { i => { 'cf1:col1' => true } }
313
312
  else
314
- @table.put i, 'cf1:col2' => true
313
+ { i => { 'cf1:col2' => true } }
315
314
  end
316
- end
317
- 20.times do |i|
318
- @table.put i + 10, 'cf1:col1' => 100, 'cf1:col2' => 100
319
- end
315
+ }.reduce(&:merge)
316
+
317
+ @table.put 20.times.map { |i|
318
+ { i + 10 => { 'cf1:col1' => 100, 'cf1:col2' => 100 } }
319
+ }.reduce(&:merge)
320
320
 
321
321
  assert_equal 30, @table.count
322
322
  assert_equal 30, @table.filter('cf1:what' => nil).count
@@ -365,9 +365,9 @@ class TestScoped < TestHBaseJRubyBase
365
365
  end
366
366
 
367
367
  def test_prefix_filter
368
- ('aa'..'zz').each do |rk|
369
- @table.put rk, 'cf1:a' => 1
370
- end
368
+ @table.put ('aa'..'zz').map { |rk|
369
+ { rk => { 'cf1:a' => 1 } }
370
+ }.reduce(&:merge)
371
371
 
372
372
  assert_equal 26, @table.range(:prefix => 'c').count
373
373
  assert_equal 1, @table.range(:prefix => 'cc').count
@@ -412,9 +412,9 @@ class TestScoped < TestHBaseJRubyBase
412
412
  end
413
413
 
414
414
  def test_while
415
- (0...100).each do |idx|
416
- @table.put idx, 'cf1:a' => idx % 10, 'cf2:b' => 'Hello'
417
- end
415
+ @table.put (0...100).map { |idx|
416
+ { idx => { 'cf1:a' => idx % 10, 'cf2:b' => 'Hello' } }
417
+ }.reduce(&:merge)
418
418
 
419
419
  assert_equal 20, @table.filter('cf1:a' => { :lte => 1 }, 'cf2:b' => 'Hello').count
420
420
  assert_equal 2, @table.while( 'cf1:a' => { :lte => 1 }, 'cf2:b' => 'Hello').count
@@ -425,17 +425,18 @@ class TestScoped < TestHBaseJRubyBase
425
425
  end
426
426
 
427
427
  def test_min_max
428
- (0...100).each do |idx|
428
+ (0...20).each do |idx|
429
429
  @table.put idx, 'cf1:a' => 1
430
- assert_equal 0, @table.to_a.reverse.min.rowkey(:fixnum)
431
- assert_equal idx, @table.to_a.reverse.max.rowkey(:fixnum)
430
+ rows = @table.to_a
431
+ assert_equal 0, rows.reverse.min.rowkey(:fixnum)
432
+ assert_equal idx, rows.reverse.max.rowkey(:fixnum)
432
433
  end
433
434
  end
434
435
 
435
436
  def test_regex
436
- ('aa'..'zz').each do |rowkey|
437
- @table.put rowkey, 'cf1:a' => rowkey
438
- end
437
+ @table.put ('aa'..'zz').map { |rowkey|
438
+ { rowkey => { 'cf1:a' => rowkey } }
439
+ }.reduce(&:merge)
439
440
 
440
441
  assert_equal 1, @table.filter('cf1:a' => /gg/).count
441
442
  assert_equal 1, @table.filter('cf1:a' => /GG/i).count
@@ -451,11 +452,13 @@ class TestScoped < TestHBaseJRubyBase
451
452
  end
452
453
 
453
454
  def test_java_bytes_prefix
454
- (1..100).each do |i|
455
- (1..100).each do |j|
456
- @table.put((HBase::ByteArray(i) + HBase::ByteArray(j)).to_java_bytes, 'cf1:a' => i * j)
457
- end
458
- end
455
+ @table.put(
456
+ (1..100).map { |i|
457
+ (1..100).map { |j|
458
+ { (HBase::ByteArray(i) + HBase::ByteArray(j)).to_java_bytes => { 'cf1:a' => i * j } }
459
+ }
460
+ }.flatten.reduce(&:merge)
461
+ )
459
462
 
460
463
  assert_equal 100, @table.range(:prefix => HBase::ByteArray(50)).count
461
464
  assert_equal 100, @table.range(:prefix => HBase::ByteArray(50).to_java_bytes).count
@@ -508,9 +511,9 @@ class TestScoped < TestHBaseJRubyBase
508
511
  end
509
512
 
510
513
  def test_with_java_scan
511
- ('a'..'z').each do |rk|
512
- @table.put rk, 'cf1:a' => 1
513
- end
514
+ @table.put ('a'..'z').map { |rk|
515
+ { rk => { 'cf1:a' => 1 } }
516
+ }.reduce(&:merge)
514
517
 
515
518
  assert_equal 2, @table.with_java_scan { |scan|
516
519
  scan.setStartRow HBase::Util.to_bytes 'a'
@@ -548,9 +551,9 @@ class TestScoped < TestHBaseJRubyBase
548
551
  def test_count_options
549
552
  # TODO how to confirm?
550
553
 
551
- (101..150).each do |i|
552
- @table.put(i, 'cf1:a' => i, 'cf2:b' => i, 'cf3:c' => i * 3)
553
- end
554
+ @table.put (101..150).map { |i|
555
+ { i => { 'cf1:a' => i, 'cf2:b' => i, 'cf3:c' => i * 3 } }
556
+ }.reduce(&:merge)
554
557
 
555
558
  assert_equal 50, @table.count(:cache_blocks => false)
556
559
  assert_equal 50, @table.count(:cache_blocks => true)