Tests roll
continuous-integration/drone/push Build is passing

En vrij grondig ook nog, al zeg ik het zelf
This commit is contained in:
2022-12-06 01:40:09 +01:00
parent 3760d8cb02
commit a14d446e82
+31
View File
@@ -114,3 +114,34 @@ class TestShitpost(unittest.TestCase):
self.assertIsInstance(wb_v, str)
with self.subTest("Verbose isn't actually verbose"):
self.assertTrue(len(wb_v) > len(wb))
def test_roll(self):
with self.subTest("Incorrect acceptance of malformed string"):
self.assertIsNone(self.cog.get_dice_parameters("1 d 20 "))
with self.subTest("Incorrect parsing of capital D"):
self.assertEqual((1, 20, None), self.cog.get_dice_parameters("1D20"))
with self.subTest("Incorrect parsing of die-string"):
self.assertEqual((1, 20, None), self.cog.get_dice_parameters("1d20"))
with self.subTest("Incorrect parsing of die modifier"):
self.assertEqual((2, 20, 3), self.cog.get_dice_parameters("2d20+3"))
with self.subTest("Incorrect parsing of spacing in die-string"):
self.assertEqual((1, 20, 5), self.cog.get_dice_parameters("1d20 + 5"))
with self.subTest("Incorrect parsing of negative modifier"):
self.assertEqual((1, 12, -3), self.cog.get_dice_parameters("1d12 - 3"))
with self.subTest("Incorrect parsing of unbalanced spacing"):
self.assertEqual((1, 12, -3), self.cog.get_dice_parameters("1d12 -3"))
with self.subTest("Incorrect parsing of largest values"):
self.assertEqual((99, 9999, 9999), self.cog.get_dice_parameters("99d9999 + 9999"))
with self.subTest("Incorrect acceptance of too many dice"):
self.assertIsNone(self.cog.get_dice_roll(100, 20, None))
with self.subTest("Incorrect acceptance of too big die"):
self.assertIsNone(self.cog.get_dice_roll(4, 10000, None))
with self.subTest("Incorrect acceptance of too large modifier"):
self.assertIsNone(self.cog.get_dice_roll(1, 20, 999999))
with self.subTest("Incorrect acceptance of too large negative modifier"):
self.assertIsNone(self.cog.get_dice_roll(1, 20, -999999))
with self.subTest("Critical fail/success not marked"):
self.assertIn("**10**", self.cog.get_dice_roll(99, 10, None))
self.assertIn("**1**", self.cog.get_dice_roll(99, 10, None))
self.assertTrue(True)