aboutsummaryrefslogtreecommitdiffstats
path: root/test/-ext-
diff options
context:
space:
mode:
authormrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-12 21:17:04 +0000
committermrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-12 21:17:04 +0000
commit68bdef0041056bb630cec3cfabc06fc8e3608b94 (patch)
tree725efe2d60e4ed053c19727399d98675a3460c3e /test/-ext-
parentfc4029b8434851fa82f8f3443789e10b9b20411b (diff)
downloadruby-68bdef0041056bb630cec3cfabc06fc8e3608b94.tar.gz
Add test cases of rb_arithmetic_sequence_extract
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/-ext-')
-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