def test_growth_rates(self): test_rates = [ ([1], [1.001]), ([-1.001], [-1]), ([1, 2, 3], [2, 3, 4]), (np.arange(1, 100), np.arange(1, 100) - 0.001), ] for rates1, rates2 in test_rates: pc_list1 = [ msprime.PopulationConfiguration(initial_size=1, growth_rate=rate) for rate in rates1 ] pc_list2 = [ msprime.PopulationConfiguration(initial_size=1, growth_rate=rate) for rate in rates2 ] self.assertFalse( models.population_configurations_equal(pc_list1, pc_list2)) self.assertFalse( models.population_configurations_equal(pc_list2, pc_list1)) self.assertTrue( models.population_configurations_equal(pc_list1, pc_list1)) self.assertTrue( models.population_configurations_equal(pc_list2, pc_list2)) with self.assertRaises(models.UnequalModelsError): models.verify_population_configurations_equal( pc_list2, pc_list1)
def test_different_lengths(self): pc = msprime.PopulationConfiguration(initial_size=1) self.assertFalse(models.population_configurations_equal([], [pc])) self.assertFalse(models.population_configurations_equal([pc], [])) self.assertFalse(models.population_configurations_equal([pc, pc], [pc])) self.assertFalse(models.population_configurations_equal([pc], [pc, pc])) self.assertTrue(models.population_configurations_equal([pc], [pc])) with self.assertRaises(models.UnequalModelsError): models.verify_population_configurations_equal([pc], [pc, pc])