Sha256: 0b3d02e051927105cad74cb5ff389546a760eed4ca782cf72e70138f88adcebe
Contents?: true
Size: 1.57 KB
Versions: 5
Compression:
Stored size: 1.57 KB
Contents
require 'minitest/autorun' require 'sarah' class TestSarah_14 < MiniTest::Unit::TestCase def test_slice s = Sarah[1, 2, 3, 4, 5, 10 => 6, 15 => 7, 20 => 8] assert_equal 2, s.slice(1), 'slice 1' assert_equal 6, s.slice(10), 'slice 10' assert_equal({ 1 => 2 }, s.slice(1, 1).to_h, 'slice 1, 1') assert_equal({ 1 => 2, 2 => 3 }, s.slice(1, 2).to_h, 'slice 1, 2') assert_equal({ 4 => 5, 10 => 6 }, s.slice(4, 2).to_h, 'slice 4, 2') assert_equal [5, 6, 7, 8], s.slice(4, 5).values, 'slice 4, 5' assert_equal({ 15 => 7 }, s.slice(-6, 1).to_h, 'slice -6, 1') assert_equal({ 20 => 8 }, s.slice(-3, 1).to_h, 'slice -3, 1') assert_equal({ 4 => 5, 10 => 6, 15 => 7 }, s.slice(4..15).to_h, 'slice 4..15') assert_equal({ 4 => 5, 10 => 6 }, s.slice(4...15).to_h, 'slice 4...15') end def test_slice_bang s0 = Sarah[1, 2, 3, 4, 5, 10 => 6, 15 => 7, 20 => 8] s = Sarah.new s0 assert_equal([3, 4], s.slice!(2, 2).values, 'slice! 2, 2') assert_equal({ 0 => 1, 1 => 2, 2 => 5, 8 => 6, 13 => 7, 18 => 8 }, s.to_h, 'after slice! 2, 2') s = Sarah.new s0 s.slice! 4..10 assert_equal({ 0 => 1, 1 => 2, 2 => 3, 3 => 4, 13 => 7, 18 => 8}, s.to_h, 'after slice! 4..10') end def test_slice_nma s0 = Sarah.new [1, 2, 3, 4, 5, 10 => 6, 15 => 7, 20 => 8], :negative_mode => :actual s = Sarah.new s0 s.slice!(2, 2) assert_equal({ 0 => 1, 1 => 2, 4 => 5, 10 => 6, 15 => 7, 20 => 8 }, s.to_h, 'after NMA slice! 2, 2') s = Sarah.new s0 s.slice! 4..10 assert_equal({ 0 => 1, 1 => 2, 2 => 3, 3 => 4, 15 => 7, 20 => 8}, s.to_h, 'after NMA slice! 4..10') end end # END
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
sarah-3.0.0 | test/14slice.rb |
sarah-2.2.0 | test/14slice.rb |
sarah-2.1.0 | test/14slice.rb |
sarah-2.0.1 | test/14slice.rb |
sarah-2.0.0 | test/14slice.rb |