contest1/
contest1/example/
contest1/html/classes/
contest1/html/dot/
contest1/html/files/
contest1/test/
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