@@ -779,32 +779,38 @@ def test_inspect((expected, input, freeze))
779
779
assert_equal data [ :elements ] , SequenceSet . new ( data [ :input ] ) . elements
780
780
end
781
781
782
- test "#each_element" do |data |
783
- seqset = SequenceSet . new ( data [ :input ] )
782
+ def assert_seqset_enum ( expected , seqset , enum )
783
+ array = [ ]
784
+ assert_equal seqset , seqset . send ( enum ) { array << _1 }
785
+ assert_equal expected , array
786
+
784
787
array = [ ]
785
- assert_equal seqset , seqset . each_element { array << _1 }
786
- assert_equal data [ :elements ] , array
787
- assert_equal data [ :elements ] , seqset . each_element . to_a
788
+ assert_equal seqset , seqset . send ( enum ) . each { array << _1 }
789
+ assert_equal expected , array
790
+
791
+ assert_equal expected , seqset . send ( enum ) . to_a
792
+ end
793
+
794
+ test "#each_element" do |data |
795
+ seqset = SequenceSet . new ( data [ :input ] )
796
+ expected = data [ :elements ]
797
+ assert_seqset_enum expected , seqset , :each_element
788
798
end
789
799
790
800
test "#entries" do |data |
791
801
assert_equal data [ :entries ] , SequenceSet . new ( data [ :input ] ) . entries
792
802
end
793
803
794
804
test "#each_entry" do |data |
795
- seqset = SequenceSet . new ( data [ :input ] )
796
- array = [ ]
797
- assert_equal seqset , seqset . each_entry { array << _1 }
798
- assert_equal data [ :entries ] , array
799
- assert_equal data [ :entries ] , seqset . each_entry . to_a
805
+ seqset = SequenceSet . new ( data [ :input ] )
806
+ expected = data [ :entries ]
807
+ assert_seqset_enum expected , seqset , :each_entry
800
808
end
801
809
802
810
test "#each_range" do |data |
803
- seqset = SequenceSet . new ( data [ :input ] )
804
- array = [ ]
805
- assert_equal seqset , seqset . each_range { array << _1 }
806
- assert_equal data [ :ranges ] , array
807
- assert_equal data [ :ranges ] , seqset . each_range . to_a
811
+ seqset = SequenceSet . new ( data [ :input ] )
812
+ expected = data [ :ranges ]
813
+ assert_seqset_enum expected , seqset , :each_range
808
814
end
809
815
810
816
test "#ranges" do |data |
@@ -814,15 +820,15 @@ def test_inspect((expected, input, freeze))
814
820
test "#each_number" do |data |
815
821
seqset = SequenceSet . new ( data [ :input ] )
816
822
expected = data [ :numbers ]
817
- enum = seqset . each_number
818
823
if expected . is_a? ( Class ) && expected < Exception
824
+ assert_raise expected do
825
+ seqset . each_number do fail "shouldn't get here" end
826
+ end
827
+ enum = seqset . each_number
819
828
assert_raise expected do enum . to_a end
820
829
assert_raise expected do enum . each do fail "shouldn't get here" end end
821
830
else
822
- array = [ ]
823
- assert_equal seqset , seqset . each_number { array << _1 }
824
- assert_equal expected , array
825
- assert_equal expected , seqset . each_number . to_a
831
+ assert_seqset_enum expected , seqset , :each_number
826
832
end
827
833
end
828
834
0 commit comments