test/tc/each.rb in rio-0.4.2 vs test/tc/each.rb in rio-0.5.1
- old
+ new
@@ -3,108 +3,123 @@
Dir.chdir File.dirname(__FILE__)+'/../'
$:.unshift File.expand_path('../lib/')
end
require 'rio'
require 'test/unit'
-require 'test/unit/testsuite'
+#require 'test/unit/testsuite'
+
class TC_RIO_each < Test::Unit::TestCase
- def test_basic
- qp = rio('qp')
- rio(qp,'test_each').rmtree.mkpath.chdir do
+ def setup
+ rio($QPDIR,'test_each').rmtree.mkpath.chdir do
f = rio('basic.txt')
0.upto(6) do |n|
f.puts("L#{n+1}: #{n*3}:#{n*2}")
end
f.puts!("Line Z")
-
- expa = ["L1: 0:0\n", "L2: 3:2\n", "L3: 6:4\n", "L4: 9:6\n", "L5: 12:8\n", "L6: 15:10\n", "L7: 18:12\n",
- "Line Z\n"]
-
+ end
+ end
+
+ def test_basic
+ rio($QPDIR,'test_each').chdir do
+
+ expa = ["L1: 0:0\n", "L2: 3:2\n", "L3: 6:4\n", "L4: 9:6\n", "L5: 12:8\n", "L6: 15:10\n", "L7: 18:12\n",
+ "Line Z\n"]
+
ans = []
-
+
rio('basic.txt').lines { |line| ans.push(line) }
assert_equal(expa,ans)
ans.clear
-
+
rio('basic.txt').lines.each { |line| ans.push(line) }
assert_equal(expa,ans)
ans.clear
rio('basic.txt').each { |line| ans.push(line) }
assert_equal(expa,ans)
ans.clear
-
+
# proxy of IO#each_line -- lines() is ignored
rio('basic.txt').each_line { |line| ans.push(line) }
assert_equal(expa,ans)
ans.clear
-
+
assert_equal(expa,rio('basic.txt').lines.to_a)
assert_equal(expa,rio('basic.txt').to_a)
-
+
ans = rio('basic.txt').lines(1..3).to_a
assert_equal(expa[1..3],ans)
ans = rio('basic.txt').lines(1..1,5..6).to_a
assert_equal(expa[1..1] + expa[5..6],ans)
ans = rio('basic.txt').lines(1,5..6).to_a
assert_equal(expa[1..1] + expa[5..6],ans)
-
+
assert_equal([expa[1],expa[4],expa[6]],rio('basic.txt').lines(/2/).to_a)
-
+
ans = []
rio('basic.txt').chomp.lines(/2/).each { |line| ans.push(line) }
assert_equal([expa[1],expa[4],expa[6]].map{|el| el.chomp},ans)
-
+
ans = []
rio('basic.txt').chomp.lines(/2/) { |line| ans.push(line) }
assert_equal([expa[1],expa[4],expa[6]].map{|el| el.chomp},ans)
-
+
ans = []
rio('basic.txt').lines(/2/).chomp { |line| ans.push(line) }
assert_equal([expa[1],expa[4],expa[6]].map{|el| el.chomp},ans)
-
-
- expb = ["L1: 0:0\nL2: 3:2\nL3: 6:4\nL4: 9:6\n", "L5: 12:8\nL6: 15:10\nL7: 18:12\nLin", "e Z\n"]
-
- assert_equal(expb,rio('basic.txt').bytes(32).to_a)
- assert_equal(expb[0..1],rio('basic.txt').records(0..1).bytes(32).to_a)
- assert_equal(expb[0..1],rio('basic.txt').bytes(32).records(0..1).to_a)
-
+ end
+ end
+
+ def test_bytes
+ rio($QPDIR,'test_each').chdir do
+ eol = (($mswin32 || $mingw32) && RUBY_VERSION >= "1.9") ? "\r\n" : "\n"
+ nbytes = 32
+
+ str = "L1: 0:0#{eol}L2: 3:2#{eol}L3: 6:4#{eol}L4: 9:6#{eol}L5: 12:8#{eol}L6: 15:10#{eol}L7: 18:12#{eol}Line Z#{eol}"
+ expb = []
+ (0..2).each do |n|
+ expb << str[nbytes*n,nbytes]
+ end
+
+ assert_equal(expb,rio('basic.txt').bytes(nbytes).to_a)
+ assert_equal(expb[0..1],rio('basic.txt').records(0..1).bytes(nbytes).to_a)
+ assert_equal(expb[0..1],rio('basic.txt').bytes(nbytes).records(0..1).to_a)
+
ans = []
- rio('basic.txt').bytes(32) { |rec| ans << rec }
+ rio('basic.txt').bytes(nbytes) { |rec| ans << rec }
assert_equal(expb,ans)
-
+
ans = []
- rio('basic.txt').bytes(32).each { |rec| ans << rec }
+ rio('basic.txt').bytes(nbytes).each { |rec| ans << rec }
assert_equal(expb,ans)
-
+
ans = []
- rio('basic.txt').records(1..2).bytes(32).each { |rec| ans << rec }
+ rio('basic.txt').records(1..2).bytes(nbytes).each { |rec| ans << rec }
assert_equal(expb[1..2],ans)
-
+
ans = []
- rio('basic.txt').records(1..2).bytes(32) { |rec| ans << rec }
+ rio('basic.txt').records(1..2).bytes(nbytes) { |rec| ans << rec }
assert_equal(expb[1..2],ans)
-
+
ans = []
- rio('basic.txt').bytes(32).records(1..2).each { |rec| ans << rec }
+ rio('basic.txt').bytes(nbytes).records(1..2).each { |rec| ans << rec }
assert_equal(expb[1..2],ans)
-
+
ans = []
- rio('basic.txt').bytes(32).records(1..2) { |rec| ans << rec }
+ rio('basic.txt').bytes(nbytes).records(1..2) { |rec| ans << rec }
assert_equal(expb[1..2],ans)
-
- assert_equal(expb[0..2],rio('basic.txt').bytes(32).records(0..2).to_a)
-
-# expc = [["15", "10"], ["18", "12"]]
-# assert_equal(expc,rio('basic.txt').lines(/(\d\d):(\d\d)/).to_a)
-
-# ans = []
-# rio('basic.txt').lines(/(\d\d):(\d\d)/) { |ary|
-# ans.push(ary)
-# }
-# assert_equal(expc,ans)
+
+ assert_equal(expb[0..2],rio('basic.txt').bytes(nbytes).records(0..2).to_a)
+
+ # expc = [["15", "10"], ["18", "12"]]
+ # assert_equal(expc,rio('basic.txt').lines(/(\d\d):(\d\d)/).to_a)
+
+ # ans = []
+ # rio('basic.txt').lines(/(\d\d):(\d\d)/) { |ary|
+ # ans.push(ary)
+ # }
+ # assert_equal(expc,ans)
end
end
end