def test_bits_per_layer(self):
     gh = G(bits_per_layer=-1)
     self.assertTrue(gh.bits_per_layer > 0 and gh.bits_per_layer < 256)
     gh = G(bits_per_layer=0)
     self.assertTrue(gh.bits_per_layer > 0 and gh.bits_per_layer < 256)
     gh = G(bits_per_layer=255)
     self.assertTrue(gh.bits_per_layer > 0 and gh.bits_per_layer < 256)
     gh = G(bits_per_layer=256)
     self.assertTrue(gh.bits_per_layer > 0 and gh.bits_per_layer < 256)
     gh = G(bits_per_layer=1)
     self.assertTrue(gh.bits_per_layer > 0 and gh.bits_per_layer < 256)
 def test_maximum_possible_layers(self):
     gh = G(maximum_possible_layers=-1)
     self.assertTrue(gh.maximum_possible_layers > 0
                     and gh.maximum_possible_layers < 256)
     gh = G(maximum_possible_layers=0)
     self.assertTrue(gh.maximum_possible_layers > 0
                     and gh.maximum_possible_layers < 256)
     gh = G(maximum_possible_layers=255)
     self.assertTrue(gh.maximum_possible_layers > 0
                     and gh.maximum_possible_layers < 256)
     gh = G(maximum_possible_layers=256)
     self.assertTrue(gh.maximum_possible_layers > 0
                     and gh.maximum_possible_layers < 256)
     gh = G(maximum_possible_layers=1)
     self.assertTrue(gh.maximum_possible_layers > 0
                     and gh.maximum_possible_layers < 256)
 def test_generate_structure_prepend(self):
     for i in range(10000):
         rand_max_layers = rand.randint(-256, 256)
         rand_bits_per_layer = rand.randint(-256, 256)
         gh = G(maximum_possible_layers=rand_max_layers,
                bits_per_layer=rand_bits_per_layer)
         structure = gh._generate_structure_prepend()
         layers, bits, _ = structure.split('t')
         layers = _bitstring_to_binary(layers)
         bits = _bitstring_to_binary(bits)
         self.assertEqual(layers, gh.maximum_possible_layers)
         self.assertEqual(bits, gh.bits_per_layer)
 def test_perplexity_is_between_5_50(self):
     gh = G()
     for i in range(10000):
         perp = gh._generate_perplexity_prepend()
         perp = _bitstring_to_binary(perp)
         self.assertTrue(perp >= 5 and perp <= 50)
 def test_perplexity_is_six_bits(self):
     gh = G()
     for i in range(10000):
         perp = gh._generate_perplexity_prepend()
         self.assertEqual(len(perp), 6)
 def test_basic(self):
     gh = G()
def _get_random_G():
    rand_max_layers = rand.randint(-256, 256)
    rand_bits_per_layer = rand.randint(-256, 256)
    gh = G(maximum_possible_layers=rand_max_layers,
           bits_per_layer=rand_bits_per_layer)
    return gh