From bd3b5d9df65dc7fde37fe321a535376146cb87cd Mon Sep 17 00:00:00 2001
From: ulif <uli@gnufix.de>
Date: Thu, 12 May 2016 13:32:37 +0200
Subject: [PATCH] Add test to ensure `dice_sides` is really used.

We have to make sure, that `dice_sides` is really used when picking
random values.
---
 tests/test_random_sources.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/test_random_sources.py b/tests/test_random_sources.py
index 97cbcfc..d4cbce4 100644
--- a/tests/test_random_sources.py
+++ b/tests/test_random_sources.py
@@ -282,3 +282,13 @@ class TestRealDiceRandomSource(object):
             out, err = capsys.readouterr()
             assert "roll 2 dice" in out
             assert picked == 1
+
+    def test_dice_sides_respected(self, capsys, monkeypatch):
+        # we use the number of dice sides given by options dict.
+        self.fake_input_values(["1", "2"], monkeypatch)
+        src = RealDiceRandomSource(dict(dice_sides=2))  # a coin
+        picked = src.choice(['a', 'b', 'c', 'd'])
+        out, err = capsys.readouterr()
+        # must throw a coin 2 times to pick one out of 4 items
+        assert "Please roll 2 dice" in out
+        assert picked == 'b'
-- 
GitLab