Sha256: 4b72e872eb79cff3088ab2a67a8a57d26f519c3a807a4eb46c321457053dd8b8

Contents?: true

Size: 1.51 KB

Versions: 6

Compression:

Stored size: 1.51 KB

Contents

require 'minitest/autorun'
require 'sarah'

class TestSarah_04 < MiniTest::Unit::TestCase

    def test_stack
	s = Sarah.new
	s.push 1, 2, 3
	s.unshift 4, 5, 6
	assert_equal([4, 5, 6, 1, 2, 3], s.seq, "push + unshift")
	assert_equal(4, s.shift, "shift")
	assert_equal(3, s.pop, "pop")
	assert_equal([5, 6, 1, 2], s.seq, "after shift, pop")
    end

    def test_left_shift
	s = Sarah.new
	s << 1 << 2 << 3
	assert_equal([1, 2, 3], s.seq, "<<")
    end

    def test_append
	s = Sarah.new
	s.append! [1], { :one => 1 }, [2], [3]
	s.append! [4], { :two => 2 }, [5], [6]
	assert_equal([1, 2, 3, 4, 5, 6], s.seq, "append ary")
	assert_equal({ :one => 1, :two => 2 }, s.rnd, "append hsh")
    end

    def test_append_sarah
	s1 = Sarah.new :array => [1, 2], :hash => { :three => 3 }
	s2 = Sarah.new :array => [4, 5], :hash => { :six => 6 }
	s1.append! s2
	assert_equal([1, 2, 4, 5], s1.seq, "append sarah (array)")
	assert_equal({ :three => 3, :six => 6 }, s1.rnd, "append sarah (hash)")
    end

    def test_insert
	s = Sarah.new
	s.insert! [1], { :one => 1 }, [2], [3]
	s.insert! [4], { :two => 2 }, [5], [6]
	assert_equal([4, 5, 6, 1, 2, 3], s.seq, "insert ary")
	assert_equal({ :one => 1, :two => 2 }, s.rnd, "insert hsh")
    end

    def test_insert_sarah
	s1 = Sarah.new :array => [1, 2], :hash => { :three => 3 }
	s2 = Sarah.new :array => [4, 5], :hash => { :six => 6 }
	s1.insert! s2
	assert_equal([4, 5, 1, 2], s1.seq, "insert sarah (array)")
	assert_equal({ :three => 3, :six => 6 }, s1.rnd, "insert sarah (hash)")
    end

end

# END

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sarah-3.0.0 test/04stack.rb
sarah-2.2.0 test/04stack.rb
sarah-2.1.0 test/04stack.rb
sarah-2.0.1 test/04stack.rb
sarah-2.0.0 test/04stack.rb
sarah-0.0.4 test/04stack.rb