# Probability Calculator Test 2 Failure

Tell us what’s happening:

This is the last challenge of “Scientific Computing With Python”

The only test failure I am getting on my code is this.

``````FAIL: test_hat_draw (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/boilerplate-probability-calculator/test_module.py", line 16, in test_hat_draw
self.assertEqual(actual, expected, 'Expected hat draw to return two random items from hat contents.')
AssertionError: Lists differ: ['red', 'red'] != ['blue', 'red']

First differing element 0:
'red'
'blue'

- ['red', 'red']
?   ^ -

+ ['blue', 'red']
?   ^^^
: Expected hat draw to return two random items from hat contents.

----------------------------------------------------------------------
Ran 3 tests in 0.052s

FAILED (failures=1)
``````

Running `draw()` outside of the test modules confirms that the results are (pseudo-)random despite what the tests say, but evidently it’s not the “right” kind of random. Which randomization method does the test module prefer?

Here is the replit.

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0`

Challenge: Probability Calculator

I think `random.choice()` should work, though I used `random.randint()`.

Yes! Popping element `n` where n is determined by `random.randint()` gives the random results demanded by the test module.

In my opinion, this challenge should be revised to allow multiple paths to a correct method, including the more realistic `random.sample()`, which is written specifically for experiments like this.

But anyway, thank you for your help.

Really? It haven’t worked for me. I changed my code for:

``````removed = []
for i in range(quant_balls):
n = random.randint(1,quant_balls)
removed.append(self.contents.pop(n-1))
``````

I tried sample() (my first choice), then shuffle(), now randint().
I think this test is simply wrong. If the balls are drawn randomly, they should be allowed to be in any order and still pass the test.
Besides, with this hat (red=5, blue=2), there is no guarantee we’ll get exactly one blue and one red. The test makes no sense to me at all.
Anyone else? Any hint on how to solve this?

Oh, boy. I love you!!!
But I still think this is a non-sensical test…

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.