class AlgorithBaseTestCase(TestCase): def setUp(self): self.a = Algorithm() def test_randint(self): o = self.a.randint(Nmax=20, Nmin=10, D=[10, 10]) self.assertEqual(o.shape, (10, 10)) o = self.a.randint(Nmax=20, Nmin=10, D=(10, 5)) self.assertEqual(o.shape, (10, 5)) o = self.a.randint(Nmax=20, Nmin=10, D=10) self.assertEqual(o.shape, (10, )) def test_setParameters(self): self.a.setParameters(t=None, a=20) self.assertRaises(AttributeError, lambda: self.assertEqual(self.a.a, None)) def test_randn(self): a = self.a.randn([1, 2]) self.assertEqual(a.shape, (1, 2)) a = self.a.randn(1) self.assertEqual(len(a), 1) a = self.a.randn(2) self.assertEqual(len(a), 2) a = self.a.randn() self.assertIsInstance(a, float)
class AlgorithBaseTestCase(TestCase): def setUp(self): self.a = Algorithm() def test_randint(self): o = self.a.randint(Nmax=20, Nmin=10, D=[10, 10]) self.assertEqual(o.shape, (10, 10)) o = self.a.randint(Nmax=20, Nmin=10, D=(10, 5)) self.assertEqual(o.shape, (10, 5)) o = self.a.randint(Nmax=20, Nmin=10, D=10) self.assertEqual(o.shape, (10, )) def test_setParameters(self): a = self.a.setParameters(t=None, a=20) self.assertEqual(a, None) def test_setBenchmark(self): task = Task(D=10, nFES=10, nGEN=10, optType=OptimizationType.MINIMIZATION, benchmark=MyBenchmark()) a = self.a.setBechmark(task) self.assertIsInstance(a, Algorithm) def test_randn(self): a = self.a.randn([1, 2]) self.assertEqual(a.shape, (1, 2)) a = self.a.randn(1) self.assertEqual(len(a), 1) a = self.a.randn(2) self.assertEqual(len(a), 2) a = self.a.randn() self.assertIsInstance(a, float) def test_runYield(self): a = self.a.runYield(None) self.assertEqual(next(a), (None, None)) def test_runTask(self): a = self.a.runTask(None) self.assertEqual(a, (None, None))
class AlgorithBaseTestCase(TestCase): r"""Test case for testing Algorithm class. Date: April 2019 Author: Klemen Berkovič Attributes: seed (int): Starting seed of random generator. rnd (mtrand.RandomState): Random generator. a (Algorithm): Algorithm to use for testing. See Also: * :class:`NiaPy.algorithms.Individual` """ def setUp(self): self.seed = 1 self.rnd = rnd.RandomState(self.seed) self.a = Algorithm(seed=self.seed) def test_algorithm_info_fine(self): r"""Check if method works fine.""" i = Algorithm.algorithmInfo() self.assertIsNotNone(i) def test_algorithm_getParameters_fine(self): r"""Check if method works fine.""" algo = Algorithm() params = algo.getParameters() self.assertIsNotNone(params) def test_type_parameters_fine(self): d = Algorithm.typeParameters() self.assertIsNotNone(d) def test_init_population_numpy_fine(self): r"""Test if custome generation initialization works ok.""" a = Algorithm(NP=10, InitPopFunc=init_pop_numpy) t = Task(D=20, benchmark=MyBenchmark()) self.assertTrue( array_equal(full((10, t.D), 0.0), a.initPopulation(t)[0])) def test_init_population_individual_fine(self): r"""Test if custome generation initialization works ok.""" a = Algorithm(NP=10, InitPopFunc=init_pop_individual, itype=Individual) t = Task(D=20, benchmark=MyBenchmark()) i = Individual(x=full(t.D, 0.0), task=t) pop, fpop, d = a.initPopulation(t) for e in pop: self.assertEqual(i, e) def test_setParameters(self): self.a.setParameters(t=None, a=20) self.assertRaises(AttributeError, lambda: self.assertEqual(self.a.a, None)) def test_randint_fine(self): o = self.a.randint(Nmax=20, Nmin=10, D=[10, 10]) self.assertEqual(o.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.randint(10, 20, (10, 10)), o)) o = self.a.randint(Nmax=20, Nmin=10, D=(10, 5)) self.assertEqual(o.shape, (10, 5)) self.assertTrue(array_equal(self.rnd.randint(10, 20, (10, 5)), o)) o = self.a.randint(Nmax=20, Nmin=10, D=10) self.assertEqual(o.shape, (10, )) self.assertTrue(array_equal(self.rnd.randint(10, 20, 10), o)) def test_randn_fine(self): a = self.a.randn([1, 2]) self.assertEqual(a.shape, (1, 2)) self.assertTrue(array_equal(self.rnd.randn(1, 2), a)) a = self.a.randn(1) self.assertEqual(len(a), 1) self.assertTrue(array_equal(self.rnd.randn(1), a)) a = self.a.randn(2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.randn(2), a)) a = self.a.randn() self.assertIsInstance(a, float) self.assertTrue(array_equal(self.rnd.randn(), a)) def test_uniform_fine(self): a = self.a.uniform(-10, 10, [10, 10]) self.assertEqual(a.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.uniform(-10, 10, (10, 10)), a)) a = self.a.uniform(4, 10, (4, 10)) self.assertEqual(len(a), 4) self.assertEqual(len(a[0]), 10) self.assertTrue(array_equal(self.rnd.uniform(4, 10, (4, 10)), a)) a = self.a.uniform(1, 4, 2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.uniform(1, 4, 2), a)) a = self.a.uniform(10, 100) self.assertIsInstance(a, float) self.assertEqual(self.rnd.uniform(10, 100), a) def test_normal_fine(self): a = self.a.normal(-10, 10, [10, 10]) self.assertEqual(a.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.normal(-10, 10, (10, 10)), a)) a = self.a.normal(4, 10, (4, 10)) self.assertEqual(len(a), 4) self.assertEqual(len(a[0]), 10) self.assertTrue(array_equal(self.rnd.normal(4, 10, (4, 10)), a)) a = self.a.normal(1, 4, 2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.normal(1, 4, 2), a)) a = self.a.normal(10, 100) self.assertIsInstance(a, float) self.assertEqual(self.rnd.normal(10, 100), a)