def test_DieSet_distribution_neg1d6(self): dieset_neg1d6 = dice.DieSet("-1d6") self.assertEqual(dieset_neg1d6.distribution, [(-6, 0.16667), (-5, 0.16667), (-4, 0.16667), (-3, 0.16667), (-2, 0.16667), (-1, 0.16667)])
def test_DieSet_minroll_1d6(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.minroll, 1)
def test_dstring_tokenize_xdx_plus_xdx(self): self.assertEqual( dice.dstring_parse("1d10+1d8"), [dice.DieSet("1d10"), dice.DieSet("1d8")])
def test_DieSet_probability_range_1d6_5to7(self): dieset_1d6 = dice.DieSet("1d6") with self.assertRaisesRegex(ValueError, "Argument '7' not in valid range 1 - 6"): dieset_1d6.probability_range(5, 7)
def test_DieSet_probability_range_1d6_5to1(self): dieset_neg1d6 = dice.DieSet("1d6") self.assertEqual(dieset_neg1d6.probability_range(5, 1), 0.83335)
def test_DieSet_probability_range_2d4_4to6(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.probability_range(4, 6), 0.625)
def test_DieSet_probability_range_1d6_4to5(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.probability_range(4, 5), 0.33334)
def test_DieSet_probability_neg1d6_neg3(self): dieset_neg1d6 = dice.DieSet("-1d6") self.assertEqual(dieset_neg1d6.probability(-3), 0.16667)
def test_DieSet_distribution_1d6(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.distribution, [(1, 0.16667), (2, 0.16667), (3, 0.16667), (4, 0.16667), (5, 0.16667), (6, 0.16667)])
def test_DieSet_rollrange_neg1d6(self): dieset_neg1d6 = dice.DieSet("-1d6") self.assertEqual(dieset_neg1d6.rollrange, 6)
def test_DieSet_rollrange_6d1(self): dieset_6d1 = dice.DieSet("6d1") self.assertEqual(dieset_6d1.rollrange, 1)
def test_DieSet_rollrange_2d4(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.rollrange, 7)
def test_DieSet_minroll_neg1d6(self): dieset_neg1d6 = dice.DieSet("-1d6") self.assertEqual(dieset_neg1d6.minroll, -6)
def test_DieSet_minroll_6d1(self): dieset_6d1 = dice.DieSet("6d1") self.assertEqual(dieset_6d1.minroll, 6)
def test_DieSet_minroll_2d4(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.minroll, 2)
def test_DieSet_probability_2d4_6(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.probability(6), 0.1875)
def test_DieSet_probability_6d1_5(self): dieset_6d1 = dice.DieSet("6d1") self.assertEqual(dieset_6d1.probability(5), 0)
def test_DieSet_distribution_2d4(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.distribution, [(2, 0.0625), (3, 0.125), (4, 0.1875), (5, 0.25), (6, 0.1875), (7, 0.125), (8, 0.0625)])
def test_DieSet_probability_range_1d6_1to3(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.probability_range(1, 3), 0.50001)
def test_DieSet_distribution_6d1(self): dieset_6d1 = dice.DieSet("6d1") self.assertEqual(dieset_6d1.distribution, [(6, 1)])
def test_DieSet_probability_range_2d4_2to4(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.probability_range(2, 4), 0.375)
def test_DieSet_distribution_3d3(self): dieset_3d3 = dice.DieSet("3d3") self.assertEqual(dieset_3d3.distribution, [(3, 0.03704), (4, 0.11111), (5, 0.22222), (6, 0.25926), (7, 0.22222), (8, 0.11111), (9, 0.03704)])
def test_DieSet_probability_range_neg1d6_neg4toneg3(self): dieset_neg1d6 = dice.DieSet("-1d6") self.assertEqual(dieset_neg1d6.probability_range(-4, -3), 0.33334)
def test_DieSet_probability_1d6_1(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.probability(1), 0.16667)
def test_DieSet_probability_range_6d1_5to6(self): dieset_6d1 = dice.DieSet("6d1") with self.assertRaisesRegex(ValueError, "Argument '5' not in valid range 6 - 6"): dieset_6d1.probability_range(5, 6)
def test_DieSet_probability_1d6_7(self): dieset_1d6 = dice.DieSet("1d6") self.assertEqual(dieset_1d6.probability(7), 0)
def test_dstring_parse_xdx(self): self.assertEqual(dice.dstring_parse("1d6"), [dice.DieSet("1d6")])
def test_DieSet_probability_2d4_2(self): dieset_2d4 = dice.DieSet("2d4") self.assertEqual(dieset_2d4.probability(2), 0.0625)
def test_dstring_tokenize_xdx_minus_xdx_minus_xdx(self): self.assertEqual( dice.dstring_parse("1d4-1d6-1d8"), [dice.DieSet("1d4"), dice.DieSet("-1d6"), dice.DieSet("-1d8")])
def test_DieSet_roll_neg1d6(self): dieset_neg1d6 = dice.DieSet("-1d6") for _ in range(1000): self.assertTrue(-6 <= dieset_neg1d6.roll() <= -1)