def test_DieExpr_distribution_1d10_m_2(self): dieexpr_1d10_m_2 = dice.DieExpr("1d10-2") self.assertEqual(dieexpr_1d10_m_2.distribution, [(-1, 0.1), (0, 0.1), (1, 0.1), (2, 0.1), (3, 0.1), (4, 0.1), (5, 0.1), (6, 0.1), (7, 0.1), (8, 0.1)])
def test_DieExpr_distribution_1d8_1d10_1d4_m_2(self): dieexpr_1d8_1d10_1d4_m_2 = dice.DieExpr("1d8+1d10+1d4-2") self.assertEqual(dieexpr_1d8_1d10_1d4_m_2.distribution, [(1, 0.00313), (2, 0.00937), (3, 0.01875), (4, 0.03125), (5, 0.04375), (6, 0.05625), (7, 0.06875), (8, 0.08125), (9, 0.09062), (10, 0.09688), (11, 0.09688), (12, 0.09062), (13, 0.08125), (14, 0.06875), (15, 0.05625), (16, 0.04375), (17, 0.03125), (18, 0.01875), (19, 0.00937), (20, 0.00313)])
def test_DieExpr_distribution_1d6_m_1d4(self): dieexpr_1d6_m_1d4 = dice.DieExpr("1d6-1d4") self.assertEqual(dieexpr_1d6_m_1d4.distribution, [(-3, 0.04167), (-2, 0.08333), (-1, 0.125), (0, 0.16667), (1, 0.16667), (2, 0.16667), (3, 0.125), (4, 0.08333), (5, 0.04167)])
def test_DieExpr_distribution_1d6_p_1d4(self): dieexpr_1d6_p_1d4 = dice.DieExpr("1d6+1d4") self.assertEqual(dieexpr_1d6_p_1d4.distribution, [(2, 0.04167), (3, 0.08333), (4, 0.125), (5, 0.16667), (6, 0.16667), (7, 0.16667), (8, 0.125), (9, 0.08333), (10, 0.04167)])
def test_DieExpr_probability_1d6_m_1d4_neg4(self): dieexpr_1d6_m_1d4 = dice.DieExpr("1d6-1d4") self.assertEqual(dieexpr_1d6_m_1d4.probability(-4), 0)
def test_DieExpr_probability_1d6_p_1d4_4(self): dieexpr_1d6_p_1d4 = dice.DieExpr("1d6+1d4") self.assertEqual(dieexpr_1d6_p_1d4.probability(4), 0.125)
def test_DieSet_rollrange_1d6(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.rollrange, 6)
def test_DieExpr_probability_range_2d4_6to9(self): dieexpr_2d4 = dice.DieExpr("2d4") with self.assertRaisesRegex(ValueError, "Argument '9' not in valid range 2 - 8"): dieexpr_2d4.probability_range(6, 9)
def test_DieExpr_probability_range_1d10_m_2_1to8(self): dieexpr_1d10_m_2 = dice.DieExpr("1d10-2") self.assertEqual(dieexpr_1d10_m_2.probability_range(1, 8), 0.8)
def test_DieExpr_probability_range_1d6_p_1d4_2to4(self): dieexpr_1d6_p_1d4 = dice.DieExpr("1d6+1d4") self.assertEqual(dieexpr_1d6_p_1d4.probability_range(2, 4), 0.25)
def test_DieSet_rollrange_1d6_m_1d4(self): dieexpr_1d6_m_1d4 = dice.DieExpr("1d6-1d4") self.assertEqual(dieexpr_1d6_m_1d4.rollrange, 9)
def test_DieExpr_probability_range_1d6_1to3(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.probability_range(1, 3), 0.50001)
def test_DieExpr_distribution_2d4(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_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_DieExpr_distribution_1d6(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.distribution, [(1, 0.16667), (2, 0.16667), (3, 0.16667), (4, 0.16667), (5, 0.16667), (6, 0.16667)])
def test_DieSet_rollrange_1d8_1d10_1d4_m_2(self): dieexpr_1d8_1d10_1d4_m_2 = dice.DieExpr("1d8+1d10+1d4-2") self.assertEqual(dieexpr_1d8_1d10_1d4_m_2.rollrange, 20)
def test_DieSet_rollrange_1d10_m_2(self): dieexpr_1d10_m_2 = dice.DieExpr("1d10-2") self.assertEqual(dieexpr_1d10_m_2.rollrange, 10)
def test_DieExpr_probability_1d10_m_2_0(self): dieexpr_1d10_m_2 = dice.DieExpr("1d10-2") self.assertEqual(dieexpr_1d10_m_2.probability(0), 0.1)
def test_DieExpr_probability_range_2d4_2to4(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_2d4.probability_range(2, 4), 0.375)
def test_DieExpr_probability_1d8_1d10_1d4_m_2_9(self): dieexpr_1d8_1d10_1d4_m_2 = dice.DieExpr("1d8+1d10+1d4-2") self.assertEqual(dieexpr_1d8_1d10_1d4_m_2.probability(9), 0.09062)
def test_DieSet_rollrange_2d4(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_2d4.rollrange, 7)
def test_DieExpr_probability_range_1d6_4to5(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.probability_range(4, 5), 0.33334)
def test_DieExpr_probability_1d6_1(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.probability(1), 0.16667)
def test_DieExpr_probability_range_2d4_4to6(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_2d4.probability_range(4, 6), 0.625)
def test_DieExpr_probability_1d6_7(self): dieexpr_1d6 = dice.DieExpr("1d6") self.assertEqual(dieexpr_1d6.probability(7), 0)
def test_DieExpr_probability_range_1d6_m_1d4_m2to2(self): dieexpr_1d6_m_1d4 = dice.DieExpr("1d6-1d4") self.assertEqual(dieexpr_1d6_m_1d4.probability_range(-2, 2), 0.70834)
def test_DieExpr_probability_2d4_2(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_2d4.probability(2), 0.0625)
def test_DieExpr_probability_range_1d8_1d10_1d4_m_2_8to13(self): dieexpr_1d8_1d10_1d4_m_2 = dice.DieExpr("1d8+1d10+1d4-2") self.assertEqual(dieexpr_1d8_1d10_1d4_m_2.probability_range(8, 13), 0.5375)
def test_DieExpr_probability_2d4_6(self): dieexpr_2d4 = dice.DieExpr("2d4") self.assertEqual(dieexpr_2d4.probability(6), 0.1875)
def test_DieExpr_probability_range_1d6_1d4_1to5(self): dieexpr_2d4 = dice.DieExpr("1d6+1d4") with self.assertRaisesRegex(ValueError, "Argument '1' not in valid range 2 - 10"): dieexpr_2d4.probability_range(1, 5)
def test_DieExpr_maxroll_1d8_1d10_1d4_m_2(self): dieexpr_1d8_1d10_1d4_m_2 = dice.DieExpr("1d8+1d10+1d4-2") self.assertEqual(dieexpr_1d8_1d10_1d4_m_2.maxroll, 20)