YouPlot/test/uplot/preprocessing_test.rb
2020-08-19 23:47:37 +09:00

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