test/test-array.rb in red-arrow-0.12.0 vs test/test-array.rb in red-arrow-0.13.0

- old
+ new

@@ -22,17 +22,46 @@ assert_equal([true, false, true], array.to_a) end end - test("#each") do - array = Arrow::BooleanArray.new([true, false, nil, true]) - assert_equal([true, false, nil, true], - array.to_a) - end + sub_test_case("instance methods") do + def setup + @values = [true, false, nil, true] + @array = Arrow::BooleanArray.new(@values) + end - test("#[]") do - array = Arrow::BooleanArray.new([true, false, nil, true]) - assert_equal([true, false, nil, true], - [array[0], array[1], array[2], array[3]]) + test("#each") do + assert_equal(@values, @array.to_a) + end + + sub_test_case("#[]") do + test("valid range") do + assert_equal(@values, + @array.length.times.collect {|i| @array[i]}) + end + + test("out of range") do + assert_nil(@array[@array.length]) + end + + test("negative index") do + assert_equal(@values.last, + @array[-1]) + end + end + + sub_test_case("#==") do + test("Arrow::Array") do + assert do + @array == @array + end + end + + test("not Arrow::Array") do + assert do + not (@array == 29) + end + end + end end end