@@ -779,32 +779,38 @@ def test_inspect((expected, input, freeze))
779779 assert_equal data [ :elements ] , SequenceSet . new ( data [ :input ] ) . elements
780780 end
781781
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+
784787 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
788798 end
789799
790800 test "#entries" do |data |
791801 assert_equal data [ :entries ] , SequenceSet . new ( data [ :input ] ) . entries
792802 end
793803
794804 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
800808 end
801809
802810 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
808814 end
809815
810816 test "#ranges" do |data |
@@ -814,15 +820,15 @@ def test_inspect((expected, input, freeze))
814820 test "#each_number" do |data |
815821 seqset = SequenceSet . new ( data [ :input ] )
816822 expected = data [ :numbers ]
817- enum = seqset . each_number
818823 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
819828 assert_raise expected do enum . to_a end
820829 assert_raise expected do enum . each do fail "shouldn't get here" end end
821830 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
826832 end
827833 end
828834
0 commit comments