summaryrefslogtreecommitdiff
path: root/test/-ext-/arith_seq/test_arith_seq_extract.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/-ext-/arith_seq/test_arith_seq_extract.rb')
-rw-r--r--test/-ext-/arith_seq/test_arith_seq_extract.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/-ext-/arith_seq/test_arith_seq_extract.rb b/test/-ext-/arith_seq/test_arith_seq_extract.rb
new file mode 100644
index 0000000000..d64fe6a7b5
--- /dev/null
+++ b/test/-ext-/arith_seq/test_arith_seq_extract.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: false
+require 'test/unit'
+
+class Test_ArithSeq < Test::Unit::TestCase
+ def test_extract_with_arith_seq
+ assert_separately([], <<-"end;") #do
+ require '-test-/arith_seq/extract'
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__(1.step(10, 2))
+ assert_equal([1, 10, 2, 0, 1], [b, e, s, f, r])
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__((1..10) % 2)
+ assert_equal([1, 10, 2, 0, 1], [b, e, s, f, r])
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__((1...10) % 2)
+ assert_equal([1, 10, 2, 1, 1], [b, e, s, f, r])
+ end;
+ end
+
+ def test_extract_with_range
+ assert_separately([], <<-"end;") #do
+ require '-test-/arith_seq/extract'
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__(1..10)
+ assert_equal([1, 10, 1, 0, 1], [b, e, s, f, r])
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__(1...10)
+ assert_equal([1, 10, 1, 1, 1], [b, e, s, f, r])
+ end;
+ end
+
+ def test_extract_with_others
+ assert_separately([], <<-"end;") #do
+ require '-test-/arith_seq/extract'
+
+ b, e, s, f, r = Enumerator::ArithmeticSequence.__extract__(nil)
+ assert_equal([nil, nil, nil, nil, 0], [b, e, s, f, r])
+ end;
+ end
+end