mirror of
https://github.com/red-data-tools/YouPlot.git
synced 2025-05-06 06:46:11 +08:00
130 lines
4.9 KiB
Ruby
130 lines
4.9 KiB
Ruby
![]() |
require_relative '../test_helper.rb'
|
||
|
|
||
|
class UplotPreprocessingTest < Test::Unit::TestCase
|
||
|
def setup
|
||
|
@m = Uplot::Preprocessing
|
||
|
end
|
||
|
|
||
|
test :transpose2 do
|
||
|
n = nil
|
||
|
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], @m.transpose2([[1, 4, 7],
|
||
|
[2, 5, 8],
|
||
|
[3, 6, 9]]))
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[4, 5, n],
|
||
|
[6, n, n]], @m.transpose2([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]]))
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[n, 4, 5],
|
||
|
[n, n, 6]], @m.transpose2([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]]))
|
||
|
end
|
||
|
|
||
|
test :get_headers do
|
||
|
assert_equal([1, 4, 7], @m.get_headers([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], true, true))
|
||
|
|
||
|
assert_equal([1, 2, 3], @m.get_headers([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], true, true))
|
||
|
|
||
|
assert_equal([1, 2, 3], @m.get_headers([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], true, true))
|
||
|
|
||
|
assert_equal([1, 2, 3], @m.get_headers([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], true, false))
|
||
|
|
||
|
assert_equal([1, 4, 6], @m.get_headers([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], true, false))
|
||
|
|
||
|
assert_equal([1], @m.get_headers([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], true, false))
|
||
|
|
||
|
assert_equal(nil, @m.get_headers([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], false, true))
|
||
|
|
||
|
assert_equal(nil, @m.get_headers([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], false, false))
|
||
|
end
|
||
|
|
||
|
test :get_series do
|
||
|
n = nil
|
||
|
assert_equal([[2, 3], [5, 6], [8, 9]], @m.get_series([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], true, true))
|
||
|
|
||
|
assert_equal([[4, 6], [5], []], @m.get_series([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], true, true))
|
||
|
|
||
|
assert_equal([[], [4], [5, 6]], @m.get_series([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], true, true))
|
||
|
|
||
|
assert_equal([[4, 7], [5, 8], [6, 9]], @m.get_series([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], true, false))
|
||
|
|
||
|
assert_equal([[2, 3], [5, nil]], @m.get_series([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], true, false))
|
||
|
|
||
|
assert_equal([[2, 3], [4, 5], [nil, 6]], @m.get_series([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], true, false))
|
||
|
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], @m.get_series([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], false, true))
|
||
|
|
||
|
assert_equal([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], @m.get_series([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], false, true))
|
||
|
|
||
|
assert_equal([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], @m.get_series([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], false, true))
|
||
|
|
||
|
assert_equal([[1, 4, 7],
|
||
|
[2, 5, 8],
|
||
|
[3, 6, 9]], @m.get_series([[1, 2, 3],
|
||
|
[4, 5, 6],
|
||
|
[7, 8, 9]], false, false))
|
||
|
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[4, 5, n],
|
||
|
[6, n, n]], @m.get_series([[1, 4, 6],
|
||
|
[2, 5],
|
||
|
[3]], false, false))
|
||
|
|
||
|
assert_equal([[1, 2, 3],
|
||
|
[n, 4, 5],
|
||
|
[n, n, 6]], @m.get_series([[1],
|
||
|
[2, 4],
|
||
|
[3, 5, 6]], false, false))
|
||
|
end
|
||
|
|
||
|
test :count do
|
||
|
assert_equal([%i[a b c], [3, 2, 1]], @m.count(%i[a a a b b c]))
|
||
|
assert_equal([%i[c b a], [3, 2, 1]], @m.count(%i[a b b c c c]))
|
||
|
end
|
||
|
end
|