| # Copyright (c) Frederick Dean | 
 | # See LICENSE for details. | 
 |  | 
 | """ | 
 | Unit tests for `OpenSSL.rand`. | 
 | """ | 
 |  | 
 | import pytest | 
 |  | 
 | from OpenSSL import rand | 
 |  | 
 |  | 
 | class TestRand(object): | 
 |     @pytest.mark.parametrize("args", [(b"foo", None), (None, 3)]) | 
 |     def test_add_wrong_args(self, args): | 
 |         """ | 
 |         `OpenSSL.rand.add` raises `TypeError` if called with arguments not of | 
 |         type `str` and `int`. | 
 |         """ | 
 |         with pytest.raises(TypeError): | 
 |             rand.add(*args) | 
 |  | 
 |     def test_add(self): | 
 |         """ | 
 |         `OpenSSL.rand.add` adds entropy to the PRNG. | 
 |         """ | 
 |         rand.add(b"hamburger", 3) | 
 |  | 
 |     def test_status(self): | 
 |         """ | 
 |         `OpenSSL.rand.status` returns `1` if the PRNG has sufficient entropy, | 
 |         `0` otherwise. | 
 |         """ | 
 |         assert rand.status() == 1 |