Sha256: 5cecaab1fa0e5787b1f630dd372a29f9ab4623c7ec592ac78b005221d1de4a24

Contents?: true

Size: 1.79 KB

Versions: 165

Compression:

Stored size: 1.79 KB

Contents

require 'test_helper'
require 'tins'

module Tins
  class MinimizeTest < Test::Unit::TestCase
    class ::Array
      include Tins::Minimize
    end

    def test_minimize
      assert_equal [], [].minimize
      assert_equal [ 1..1 ], [ 1 ].minimize
      assert_equal [ 1..2 ], [ 1, 2 ].minimize
      assert_equal [ 1..1, 7..7 ], [ 1, 7 ].minimize
      assert_equal [ 1..3, 7..7, 11..14 ],
        [ 1, 2, 3, 7, 11, 12, 13, 14 ].minimize
      assert_equal [ 'A'..'C', 'G'..'G', 'K'..'M' ],
        [ 'A', 'B', 'C', 'G', 'K', 'L', 'M' ].minimize
    end

    def test_minimize!
      assert_equal [], [].minimize!
      assert_equal [ 1..1 ], [ 1 ].minimize!
      assert_equal [ 1..2 ], [ 1, 2 ].minimize!
      assert_equal [ 1..1, 7..7 ], [ 1, 7 ].minimize!
      assert_equal [ 1..3, 7..7, 11..14 ],
        [ 1, 2, 3, 7, 11, 12, 13, 14 ].minimize!
      assert_equal [ 'A'..'C', 'G'..'G', 'K'..'M' ],
        [ 'A', 'B', 'C', 'G', 'K', 'L', 'M' ].minimize!
    end

    def test_unminimize
      assert_equal [], [].unminimize
      assert_equal [ 1 ], [ 1..1 ].unminimize
      assert_equal [ 1, 2 ], [ 1..2 ].unminimize
      assert_equal [ 1, 7 ], [ 1..1, 7..7 ].unminimize
      assert_equal [ 1, 2, 3, 7, 11, 12, 13, 14 ],
        [ 1..3, 7..7, 11..14 ].unminimize
      assert_equal [ 'A', 'B', 'C', 'G', 'K', 'L', 'M' ],
        [ 'A'..'C', 'G'..'G', 'K'..'M' ].unminimize
    end

    def test_unminimize!
      assert_equal [], [].unminimize!
      assert_equal [ 1 ], [ 1..1 ].unminimize!
      assert_equal [ 1, 2 ], [ 1..2 ].unminimize!
      assert_equal [ 1, 7 ], [ 1..1, 7..7 ].unminimize!
      assert_equal [ 1, 2, 3, 7, 11, 12, 13, 14 ],
        [ 1..3, 7..7, 11..14 ].unminimize!
      assert_equal [ 'A', 'B', 'C', 'G', 'K', 'L', 'M' ],
        [ 'A'..'C', 'G'..'G', 'K'..'M' ].unminimize!
    end
  end
end

Version data entries

165 entries across 147 versions & 9 rubygems

Version Path
tins-1.34.0 tests/minimize_test.rb
tins-1.33.0 tests/minimize_test.rb
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/minimize_test.rb
tins-1.32.1 tests/minimize_test.rb
tins-1.32.0 tests/minimize_test.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/minimize_test.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/tins-1.31.1/tests/minimize_test.rb
tins-1.31.1 tests/minimize_test.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/tins-1.31.0/tests/minimize_test.rb
tins-1.31.0 tests/minimize_test.rb
tins-1.30.0 tests/minimize_test.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/tests/minimize_test.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/tins-1.29.1/tests/minimize_test.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/tins-1.29.1/tests/minimize_test.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/tests/minimize_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tins-1.28.0/tests/minimize_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tins-1.29.1/tests/minimize_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/tins-1.26.0/tests/minimize_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/2.7.0/gems/tins-1.28.0/tests/minimize_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tins-1.26.0/tests/minimize_test.rb