unless defined? $ZENTEST and $ZENTEST require 'test/unit' require 'cards' end class TestDeck < Test::Unit::TestCase def setup @d = Deck.new end def test_shuffle @d.shuffle assert_not_equal Deck.new.draw,@d.draw end def test_draw assert_equal "2S",@d.draw assert_equal "2C",@d.draw assert_equal 50,@d.count end def test_bury assert_equal false,@d.bury("2S") assert_equal "2S",@d.draw assert @d.bury("2S") assert_equal 52,@d.count end def test_count assert_equal "2S",@d.draw assert_equal 51,@d.count end def test_reset assert_equal "2S",@d.draw @d.reset assert_equal 52,@d.count assert_equal "2S",@d.draw end def test_values assert @d.values.slice(0..4)=="2S 2C" end end class TestHand < Test::Unit::TestCase def setup @d = Deck.new @h = Hand.new end def test_accept @h.accept @d.draw assert @h.has?("2S") end def test_count @h.accept @d.draw @h.accept @d.draw @h.accept @d.draw assert @h.count==3 end def test_remove @h.accept @d.draw @h.accept @d.draw @h.accept @d.draw @h.accept @d.draw assert @h.has?("2S") @h.remove "2S" assert !@h.has?("2S") end def test_has_eh @h.accept @d.draw @h.accept @d.draw @h.accept @d.draw @h.accept @d.draw assert @h.has?("2H") end def test_values @h.accept @d.draw assert @h.values=="2S" end end