test/tc/csv2.rb in rio-0.4.2 vs test/tc/csv2.rb in rio-0.5.1
- old
+ new
@@ -17,89 +17,72 @@
end
def setup()
super
@src = rio(?")
@dst_name = 'dst.csv'
- @records,@strings,@lines,@string = create_test_csv_data(@src,3, 3, true)
+ @records,@strings,@lines,@string = create_test_csv_data(@src,3, 3, ',', $/, true)
+ if $USE_FASTER_CSV
+ opts = {:headers => true, :return_headers => true}
+ @rows = []
+ ::CSV.parse(@string, opts) do |row|
+ @rows << row
+ end
+ else
+ @rows = []
+ @records.each do |rec|
+ h = {}
+ (0...rec.size).each do |n|
+ h["Col#{n}"] = rec[n]
+ end
+ @rows << h
+ end
+ end
+
end
+ def test_rows
+ rio('src1.csv') < @src
+
+ rio('src1.csv') > rio('dst.csv')
+ first_row = ($USE_FASTER_CSV ? 1 : 0)
+ assert_equal(@rows[first_row,@rows.size-first_row],rio('dst.csv').csv.rows[])
+ ans = []
+ rio('dst.csv').csv.rows do |row|
+ ans << row
+ end
+ assert_equal(@rows[first_row,@rows.size-first_row],ans)
+ end
def test_read
rio('src1.csv') < @src
rio('src1.csv') > rio('dst.csv')
assert_equal(@string,rio('dst.csv').contents)
- assert_equal(@string,rio('dst.csv').csv.contents)
assert_equal(@lines,rio('dst.csv')[])
assert_equal(@strings,rio('dst.csv').chomp[])
assert_equal(@lines,rio('dst.csv').to_a)
assert_equal(@strings,rio('dst.csv').chomp.to_a)
assert_equal(@lines,rio('dst.csv').readlines)
assert_equal(@strings,rio('dst.csv').chomp.readlines)
assert_equal(@records,rio('dst.csv').csv[])
- assert_equal(@records,rio('dst.csv').csv.chomp[])
assert_equal(@lines,rio('dst.csv').csv.lines[])
assert_equal(@strings,rio('dst.csv').csv.chomp.lines[])
assert_equal(@records,rio('dst.csv').csv.records[])
- assert_equal(@lines,rio('dst.csv').csv.records.readlines)
+ exp = ($USE_FASTER_CSV ? @records : @lines)
+ assert_equal(exp,rio('dst.csv').csv.records.readlines)
assert_equal(@lines[1..2],rio('dst.csv').csv.lines[1..2])
assert_equal(@lines[1..2],rio('dst.csv').csv.lines(1..2).to_a)
- assert_equal(@lines,rio('dst.csv').csv.lines(1..2).readlines)
+ exp = ($USE_FASTER_CSV ? @records : @lines)
+ assert_equal(exp,rio('dst.csv').csv.lines(1..2).readlines)
- rio('dst.csv') < @string
- assert_equal(@lines,::File.open('dst.csv').readlines)
-
- rio('dst.csv').csv < @string
- assert_equal(@lines,::File.open('dst.csv').readlines)
-
- rio('dst.csv') < @lines
- assert_equal(@lines,::File.open('dst.csv').readlines)
-
- rio('dst.csv').csv < @records
- assert_equal(@lines,::File.open('dst.csv').readlines)
-
- src_str = @string.dup
- rio(?",src_str) > rio(?",dst_str='')
- assert_equal(src_str,dst_str)
-
- rio(?",src_str).csv > rio(?",dst_str='')
- assert_equal(@records.to_s,dst_str)
-
- rio(?",dst_str='') < rio(?",src_str).csv
- assert_equal(@records.to_s,dst_str)
-
- dst = rio(?")
- rio(?",src_str) > dst.csv
- assert_equal(@records,dst[])
-
- dst = rio(?")
- dst.csv < rio(?",src_str)
- assert_equal(@records,dst[])
-
- dst = rio(?")
- rio(?",src_str) > dst.csv
- assert_equal(@records,dst[])
-
- dst = rio(?").csv < rio(?",src_str)
- assert_equal(@records,dst[])
-
- dst = rio(?").csv(';') < rio(?",src_str).csv
- assert_equal(src_str.gsub(/,/,';'),dst.contents)
-
- rio(?",src_str).csv > (dst = rio(?").csv(';'))
- assert_equal(src_str.gsub(/,/,';'),dst.contents)
-
-
-
end
def test_getrec
rio('src1.csv') < @src
assert_equal(@string,rio('src1.csv').contents)
- assert_equal(@string,rio('src1.csv').csv.contents)
assert_equal(@lines[0],rio('src1.csv').getrec)
assert_equal(@strings[0],rio('src1.csv').chomp.getrec)
assert_equal(@lines[1],rio('src1.csv').lines(1).getrec)
assert_equal(@lines[1],rio('src1.csv').records(1).getrec)
@@ -108,12 +91,10 @@
assert_equal(@records[1],rio('src1.csv').csv.lines(1).getrec)
assert_equal(@records[1],rio('src1.csv').csv.records(1).getrec)
assert_equal(@records[8000],rio('src1.csv').csv.records(8000).getrec)
- assert_equal(@string[0,23],rio('src1.csv').bytes(23).getrec)
-
rec_ary = @records[0]
rec_rio = rio('src1.csv').csv.getrec
assert_kind_of(::Array,rec_rio)
exp = $EXTEND_CSV_RESULTS ? @strings[0] : @records[0].to_s
assert_equal(exp,rec_rio.to_s)
@@ -122,16 +103,16 @@
assert_kind_of(::Array,rec_rio)
assert_equal(@records[0],rec_rio.to_a)
ary = rio('src1.csv').csv[]
assert_kind_of(::Array,ary[0])
- exp = $EXTEND_CSV_RESULTS ? @strings[0] : @records[0].to_s
- assert_equal(exp,ary[0].to_s)
+ exp = $EXTEND_CSV_RESULTS ? @strings[0] : @records[0].join
+ assert_equal(exp,ary[0].join)
recs = rio('src1.csv').csv.lines[]
assert_kind_of(::String,recs[0])
- exp = $EXTEND_CSV_RESULTS ? @records[0] : [@strings[0]+$/]
- assert_equal(exp,recs[0].to_a)
+ exp = $EXTEND_CSV_RESULTS ? @records[0] : @strings[0]+$/
+ assert_equal(exp,recs[0])
return
end
end