@@ -796,116 +796,6 @@ def test_reset
796796 end
797797end
798798
799- class TC_SortedSet < Test ::Unit ::TestCase
800- def test_sortedset
801- s = SortedSet [ 4 , 5 , 3 , 1 , 2 ]
802-
803- a = s . to_a
804- assert_equal ( [ 1 , 2 , 3 , 4 , 5 ] , a )
805- a << -1
806- assert_equal ( [ 1 , 2 , 3 , 4 , 5 ] , s . to_a )
807-
808- prev = nil
809- s . each { |o | assert ( prev < o ) if prev ; prev = o }
810- assert_not_nil ( prev )
811-
812- s . map! { |o | -2 * o }
813-
814- assert_equal ( [ -10 , -8 , -6 , -4 , -2 ] , s . to_a )
815-
816- prev = nil
817- ret = s . each { |o | assert ( prev < o ) if prev ; prev = o }
818- assert_not_nil ( prev )
819- assert_same ( s , ret )
820-
821- s = SortedSet . new ( [ 2 , 1 , 3 ] ) { |o | o * -2 }
822- assert_equal ( [ -6 , -4 , -2 ] , s . to_a )
823-
824- s = SortedSet . new ( [ 'one' , 'two' , 'three' , 'four' ] )
825- a = [ ]
826- ret = s . delete_if { |o | a << o ; o . start_with? ( 't' ) }
827- assert_same ( s , ret )
828- assert_equal ( [ 'four' , 'one' ] , s . to_a )
829- assert_equal ( [ 'four' , 'one' , 'three' , 'two' ] , a )
830-
831- s = SortedSet . new ( [ 'one' , 'two' , 'three' , 'four' ] )
832- a = [ ]
833- ret = s . reject! { |o | a << o ; o . start_with? ( 't' ) }
834- assert_same ( s , ret )
835- assert_equal ( [ 'four' , 'one' ] , s . to_a )
836- assert_equal ( [ 'four' , 'one' , 'three' , 'two' ] , a )
837-
838- s = SortedSet . new ( [ 'one' , 'two' , 'three' , 'four' ] )
839- a = [ ]
840- ret = s . reject! { |o | a << o ; false }
841- assert_same ( nil , ret )
842- assert_equal ( [ 'four' , 'one' , 'three' , 'two' ] , s . to_a )
843- assert_equal ( [ 'four' , 'one' , 'three' , 'two' ] , a )
844- end
845-
846- def test_each
847- ary = [ 1 , 3 , 5 , 7 , 10 , 20 ]
848- set = SortedSet . new ( ary )
849-
850- ret = set . each { |o | }
851- assert_same ( set , ret )
852-
853- e = set . each
854- assert_instance_of ( Enumerator , e )
855-
856- assert_nothing_raised {
857- set . each { |o |
858- ary . delete ( o ) or raise "unexpected element: #{ o } "
859- }
860-
861- ary . empty? or raise "forgotten elements: #{ ary . join ( ', ' ) } "
862- }
863-
864- assert_equal ( 6 , e . size )
865- set << 42
866- assert_equal ( 7 , e . size )
867- end
868-
869- def test_freeze
870- orig = set = SortedSet [ 3 , 2 , 1 ]
871- assert_equal false , set . frozen?
872- set << 4
873- assert_same orig , set . freeze
874- assert_equal true , set . frozen?
875- assert_raise ( FrozenError ) {
876- set << 5
877- }
878- assert_equal 4 , set . size
879-
880- # https://bugs.ruby-lang.org/issues/12091
881- assert_nothing_raised {
882- assert_equal [ 1 , 2 , 3 , 4 ] , set . to_a
883- }
884- end
885-
886- def test_freeze_dup
887- set1 = SortedSet [ 1 , 2 , 3 ]
888- set1 . freeze
889- set2 = set1 . dup
890-
891- assert_not_predicate set2 , :frozen?
892- assert_nothing_raised {
893- set2 . add 4
894- }
895- end
896-
897- def test_freeze_clone
898- set1 = SortedSet [ 1 , 2 , 3 ]
899- set1 . freeze
900- set2 = set1 . clone
901-
902- assert_predicate set2 , :frozen?
903- assert_raise ( FrozenError ) {
904- set2 . add 5
905- }
906- end
907- end
908-
909799class TC_Enumerable < Test ::Unit ::TestCase
910800 def test_to_set
911801 ary = [ 2 , 5 , 4 , 3 , 2 , 1 , 3 ]
@@ -920,13 +810,5 @@ def test_to_set
920810
921811 assert_same set , set . to_set
922812 assert_not_same set , set . to_set { |o | o }
923-
924- set = ary . to_set ( SortedSet )
925- assert_instance_of ( SortedSet , set )
926- assert_equal ( [ 1 , 2 , 3 , 4 , 5 ] , set . to_a )
927-
928- set = ary . to_set ( SortedSet ) { |o | o * -2 }
929- assert_instance_of ( SortedSet , set )
930- assert_equal ( [ -10 , -8 , -6 , -4 , -2 ] , set . sort )
931813 end
932814end
0 commit comments