def test_dump_cache(self): bitgen = QiskitBitGenerator() cache = "100" * 100 bitgen.load_cache(cache) assert bitgen.dump_cache() == cache assert (bitgen.dump_cache(flush=True) == cache and bitgen._bitcache.size == 0 and bitgen._bitcache._cache == "")
def test_random_uint(self): bitgen = QiskitBitGenerator() cache = "100" * 100 n_bits = 4 bitgen.load_cache(cache) assert (bitgen.random_uint(-1) == 10540996613548315209 and bitgen.random_uint(0) == 2635249153387078802 and bitgen.random_uint(n_bits) == 4) bitgen = QiskitBitGenerator(ISRAW32=True) cache = "100" * 100 n_bits = 4 bitgen.load_cache(cache) assert (bitgen.random_uint(-1) == 2454267026 and bitgen.random_uint(0) == 1227133513 and bitgen.random_uint(n_bits) == 2)
def test_random_double(self): bitgen = QiskitBitGenerator() cache = "100" * 100 n = 4 bitgen.load_cache(cache) assert (bitgen.random_double(-1) == -0.5714285714285714 and bitgen.random_double(0) == 0.0 and bitgen.random_double(n) == 1.1428571428571423) bitgen = QiskitBitGenerator(ISRAW32=True) cache = "100" * 100 n = 4 bitgen.load_cache(cache) assert (bitgen.random_double(-1) == -0.5714285714285714 and bitgen.random_double(0) == 0.0 and bitgen.random_double(n) == 1.1428571428571423)
def test_random_bitstring(self): bitgen = QiskitBitGenerator() cache = "100" * 100 n_bits = 4 bitgen.load_cache(cache) assert (bitgen.random_bitstring(-1) == cache[:bitgen.BITS] and bitgen.random_bitstring(0) == cache[bitgen.BITS:bitgen.BITS * 2] and bitgen.random_bitstring(n_bits) == cache[bitgen.BITS * 2:bitgen.BITS * 2 + n_bits]) bitgen = QiskitBitGenerator(ISRAW32=True) cache = "100" * 100 n_bits = 4 bitgen.load_cache(cache) assert (bitgen.random_bitstring(-1) == cache[:bitgen.BITS] and bitgen.random_bitstring(0) == cache[bitgen.BITS:bitgen.BITS * 2] and bitgen.random_bitstring(n_bits) == cache[bitgen.BITS * 2:bitgen.BITS * 2 + n_bits])
def test_load_cache(self): bitgen = QiskitBitGenerator() cache = "100" * 100 with pytest.raises(TypeError): bitgen.load_cache(0) with pytest.raises(ValueError): bitgen.load_cache("abc") bitgen.load_cache(cache) bitgen.load_cache(cache) assert (bitgen._bitcache.size == 2 * len(cache) and bitgen._bitcache._cache == cache + cache) bitgen.load_cache(cache, flush=True) assert (bitgen._bitcache.size == len(cache) and bitgen._bitcache._cache == cache)
def test_flush_cache(self): bitgen = QiskitBitGenerator() cache = "100" * 100 bitgen.load_cache(cache) bitgen.flush_cache() assert bitgen._bitcache.size == 0 and bitgen._bitcache._cache == ""