def test_individuals(self): """ Updating individuals should force an update of fitness """ pop = Population(individuals=[1, 2, 3], fitness=[0, 0, 0]) self.assertEqual(pop.npop, 3) # resetting individuals should force an update of fit pop.individuals = [0, 1, 2] with self.assertRaises(PopulationFittnessNotSetError): f = pop.fitness # npop should always be the length of individuals ind0 = np.random.rand(100, 5) pop = Population(individuals=ind0) self.assertEqual(ind0.shape[0], pop.npop) self.assertEqual(ind0.shape[0], len(pop.individuals)) self.assertEqual(len(ind0), len(pop.individuals))