MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_randbytes

Method test_randbytes

Lib/test/test_random.py:920–958  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

918 self.assertEqual(a, c)
919
920 def test_randbytes(self):
921 super().test_randbytes()
922
923 # Mersenne Twister randbytes() is deterministic
924 # and does not depend on the endian and bitness.
925 seed = 8675309
926 expected = b'3\xa8\xf9f\xf4\xa4\xd06\x19\x8f\x9f\x82\x02oe\xf0'
927
928 self.gen.seed(seed)
929 self.assertEqual(self.gen.randbytes(16), expected)
930
931 # randbytes(0) must not consume any entropy
932 self.gen.seed(seed)
933 self.assertEqual(self.gen.randbytes(0), b'')
934 self.assertEqual(self.gen.randbytes(16), expected)
935
936 # Four randbytes(4) calls give the same output than randbytes(16)
937 self.gen.seed(seed)
938 self.assertEqual(b''.join([self.gen.randbytes(4) for _ in range(4)]),
939 expected)
940
941 # Each randbytes(1), randbytes(2) or randbytes(3) call consumes
942 # 4 bytes of entropy
943 self.gen.seed(seed)
944 expected1 = expected[3::4]
945 self.assertEqual(b''.join(self.gen.randbytes(1) for _ in range(4)),
946 expected1)
947
948 self.gen.seed(seed)
949 expected2 = b''.join(expected[i + 2: i + 4]
950 for i in range(0, len(expected), 4))
951 self.assertEqual(b''.join(self.gen.randbytes(2) for _ in range(4)),
952 expected2)
953
954 self.gen.seed(seed)
955 expected3 = b''.join(expected[i + 1: i + 4]
956 for i in range(0, len(expected), 4))
957 self.assertEqual(b''.join(self.gen.randbytes(3) for _ in range(4)),
958 expected3)
959
960 def test_randbytes_getrandbits(self):
961 # There is a simple relation between randbytes() and getrandbits()

Callers

nothing calls this directly

Calls 7

superClass · 0.85
lenFunction · 0.85
test_randbytesMethod · 0.45
seedMethod · 0.45
assertEqualMethod · 0.45
randbytesMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected