Question
I need help with this problem. The errors keep popping up when I run this program for dice roll with false replaceDice errors and bool
I need help with this problem. The errors keep popping up when I run this program for dice roll with false replaceDice errors and bool ones along with multi die ones.
import random
class Die: def __init__(self,n=6): self.dieCount = 0 self.numberOfsides = 6 self.totalRolls = 0 self.replaceDie = True def rollDie(self): return random.randrange(1,self.numberOfsides) def rollTwoDie(self): return self.rollDie()+self.rollDie()
def rollMultiDie(self,n=2): sum=0 for i in range(n): sum += self.rollDie()
def getSides(self): return self.numberOfsides def getDieCount(self): return self.dieCount def incrementRolls(self): self.totalRolls = self.totalRolls + 1 if(self.totalRolls > 100): self.replaceDie = True def getIncrementRolls(self): return self.incrementRolls def resetIncrementRolls(self): self.incrementRolls = 0
def replaceDie(self): return self.replaceDie
I need to use this program unedited to test it.
import unittest from Die import Die
class DieTest(unittest.TestCase): def test_instantiation(self): d6 = Die() self.assertEqual(d6.getSides(), 6) self.assertFalse(d6.getSides() == 3) d3 = Die(3) self.assertTrue(d3.getSides() == 3) self.assertFalse(d3.getSides() == 6) self.assertFalse(d6.replaceDie()) def test_rolls(self): d6 = Die() self.assertTrue( d6.rollDie() < 7 ) self.assertFalse( d6.rollDie() > 6 ) self.assertTrue( d6.rollTwoDie() < 13 ) self.assertTrue( d6.rollTwoDie() <= 12 ) self.assertTrue( d6.rollMultiDie(3) > 2 ) self.assertTrue( d6.rollMultiDie(4) > 4 )
def test_count(self): d1 = Die() d2 = Die() d3 = Die() d4 = Die() self.assertTrue(d1.getDieCount() == 4)
def test_replace(self): d1 = Die() self.assertFalse(d1.replaceDie()) for x in range(1,110): d1.rollDie() self.assertTrue(d1.replaceDie())
def test_totalRolls(self): d1 = Die() for x in range(1,110): d1.rollDie() self.assertTrue(d1.getIncrementRolls() == 109) d1.resetIncrementRolls() self.assertTrue(d1.getIncrementRolls() == 0)
if __name__ == "__main__": unittest.main()
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started