def test_gets_appropriate_race_from_all_1(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     #Act
     race = phenotype.getRace(array('b', [1] * p.RACES_GENOME_LENGTH))
     #Assert
     self.assertEqual(race, p.RACES[p.RACES_GENOME_LENGTH])
 def test_gets_appropriate_feats_from_all_1(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     #Act
     feats = phenotype.getFeats(1, array('b', [1] * p.FEATS_GENOME_LENGTH))
     #Assert
     self.assertSetEqual(feats, {p.FEATS[p.FEATS_CHROMOSOME_LENGTH]})
 def test_gets_appropriate_background_from_all_0(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     #Act
     background = phenotype.getBackground(
         array('b', [0] * p.BACKGROUNDS_GENOME_LENGTH))
     #Assert
     self.assertEqual(background, p.BACKGROUNDS[0])
 def test_gets_appropriate_class_from_all_1(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     #Act
     characterClass = phenotype.getClass(
         array('b', [1] * p.CLASSES_GENOME_LENGTH))
     #Assert
     self.assertEqual(characterClass, p.CLASSES[p.CLASSES_GENOME_LENGTH])
 def test_no_stats_over_18(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [1] * p.GENOME_LENGTH), 1)
     #Act
     stats = phenotype.getStats(
         array('b', [1] * p.ABILITY_SCORE_GENOME_LENGTH))
     #Assert
     for stat in p.AbilityScores:
         self.assertLessEqual(stats[stat], 18)
 def test_No_Stats_Under_8(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     #Act
     stats = phenotype.getStats(
         array('b', [0] * p.ABILITY_SCORE_GENOME_LENGTH))
     #Assert
     for stat in p.AbilityScores:
         self.assertGreaterEqual(stats[stat], 8)
 def test_No_Misassigned_Stats(self):
     #Arrange
     phenotype = p.Phenotype(array('b', [0] * p.GENOME_LENGTH), 1)
     str_of_18 = [0] * 5 * 19
     con_of_14 = [1, 1, 0, 0, 0] * 7
     int_of_9 = [1, 1, 1, 0, 0]
     #Act
     stats = phenotype.getStats(array('b',
                                      str_of_18 + con_of_14 + int_of_9))
     #Assert
     self.assertEqual(stats[p.AbilityScores.STRENGTH], 18)
     self.assertEqual(stats[p.AbilityScores.DEXTERITY], 8)
     self.assertEqual(stats[p.AbilityScores.CONSTITUTION], 14)
     self.assertEqual(stats[p.AbilityScores.INTELLIGENCE], 9)
     self.assertEqual(stats[p.AbilityScores.WISDOM], 8)
     self.assertEqual(stats[p.AbilityScores.CHARISMA], 8)