Allow DSV to accept single line header

This commit is contained in:
kojix2 2020-12-21 21:29:39 +09:00
parent 60fb611160
commit 6d707533a0
2 changed files with 17 additions and 7 deletions

View File

@ -57,16 +57,22 @@ module YouPlot
end
def get_series(arr, headers, transpose)
if transpose
if headers
arr.map { |row| row[1..-1] }
if headers
if arr.size > 1
if transpose
arr.map { |row| row[1..-1] }
else
transpose2(arr[1..-1])
end
else
arr
Array.new(arr[0].size, [])
end
elsif headers
transpose2(arr[1..-1])
else
transpose2(arr)
if transpose
arr
else
transpose2(arr)
end
end
end
end

View File

@ -59,6 +59,8 @@ class YouPlotDSVTest < Test::Unit::TestCase
assert_equal(nil, @m.get_headers([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], false, false))
assert_equal([1, 2, 3], @m.get_headers([[1, 2, 3]], true, false))
end
test :get_series do
@ -123,5 +125,7 @@ class YouPlotDSVTest < Test::Unit::TestCase
[n, n, 6]], @m.get_series([[1],
[2, 4],
[3, 5, 6]], false, false))
assert_equal([[], [] ,[]], @m.get_series([[1, 2, 3]], true, false))
end
end