Update of /cvsroot/wtfibs/WTFibs/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23911/test
Added Files:
test_Backgammon.py
Log Message:
Fixed bug in Backgammon, added tests file
--- NEW FILE: test_Backgammon.py ---
## Copyright (c) 2005 Brett Kelly
## All rights reserved.
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions are met:
## * Redistributions of source code must retain the above copyright notice,
## this list of conditions, and the following disclaimer.
## * Redistributions in binary form must reproduce the above copyright notice,
## this list of conditions, and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## * Neither the name of the author of this software nor the name of
## contributors to this software may be used to endorse or promote products
## derived from this software without specific prior written permission.
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
## SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
## CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## Portions of the included source code are copyright by its original author(s)
## and remain subject to its associated license.
import sys
## this way is easiest, i think
## just add the path to your working src directory to sys.path
#sys.path.append("C:/Development/WTFibs/trunk/src")
sys.path.append("src")
import py.test
import Backgammon
def test_Player():
p = Backgammon.Player("inkedmn",1500.0,"White")
assert hasattr(p,'name')
assert hasattr(p,'rating')
assert hasattr(p,'color')
py.test.raises(Exception, "Player()")
py.test.raises(Exception, "Player('TestName')")
py.test.raises(Exception, "Player(12,1500.0)")
def test_Checker():
c = Backgammon.Checker("White")
assert hasattr(c,'color')
py.test.raises(Exception, "Checker()")
py.test.raises(Exception, "Checker(2)")
def test_BoardPoint():
p = Backgammon.BoardPoint(1)
assert hasattr(p,'pos')
assert hasattr(p,'checkers')
assert hasattr(p,'push')
assert hasattr(p,'pop')
assert p.pos == 1
assert len(p.checkers) == 0
p.push(Backgammon.Checker("White"))
assert len(p.checkers) == 1
p.pop()
assert len(p.checkers) == 0
assert type(p.pop()) == type(None)
def test_Die():
d = Backgammon.Die()
assert d.sides == 6
assert d.sides != 0
assert d.face != 0 and d.face <= 6
cnt = 10
while cnt:
d.roll()
assert d.face >= 1 and d.face <= 6
cnt -= 1
|