def test_size_events(self): parser = cli.get_mspms_parser() args = parser.parse_args(["40", "20"]) self.assertEqual(args.size_event, []) args = parser.parse_args("10 1 -eN 2.0 0.5".split()) self.assertEqual(args.size_event, [[2.0, 0.5]]) args = parser.parse_args("10 1 -eN 2.0 0.5 -eN 1.0 5.0".split()) self.assertEqual(args.size_event, [[2.0, 0.5], [1.0, 5.0]])
def test_trees(self): parser = cli.get_mspms_parser() args = parser.parse_args(["40", "20"]) self.assertEqual(args.trees, False) args = parser.parse_args(["40", "20", "-T"]) self.assertEqual(args.trees, True) args = parser.parse_args(["40", "20", "--trees"]) self.assertEqual(args.trees, True)
def test_mutations(self): parser = cli.get_mspms_parser() args = parser.parse_args(["40", "20"]) self.assertEqual(args.mutation_rate, 0.0) args = parser.parse_args(["40", "20", "-t", "10"]) self.assertEqual(args.mutation_rate, 10.0) args = parser.parse_args(["40", "20", "--mutation-rate=10"]) self.assertEqual(args.mutation_rate, 10.0)
def test_growth_rates(self): parser = cli.get_mspms_parser() args = parser.parse_args(["40", "20"]) self.assertEqual(args.growth_rate, None) self.assertEqual(args.growth_event, []) args = parser.parse_args("15 1000 -G 5.25".split()) self.assertEqual(args.growth_rate, 5.25) self.assertEqual(args.growth_event, []) args = parser.parse_args("15 1000 -eG 1.0 5.25".split()) self.assertEqual(args.growth_rate, None) self.assertEqual(args.growth_event, [[1.0, 5.25]]) args = parser.parse_args("15 1000 -eG 1.0 5.25 -eG 2.0 10".split()) self.assertEqual(args.growth_rate, None) self.assertEqual(args.growth_event, [[1.0, 5.25], [2.0, 10.0]]) args = parser.parse_args( "15 1000 -eG 1.0 5.25 -eG 2.0 10 -G 4".split()) self.assertEqual(args.growth_rate, 4.0) self.assertEqual(args.growth_event, [[1.0, 5.25], [2.0, 10.0]])
def test_msdoc_examples(self): parser = cli.get_mspms_parser() args = parser.parse_args(["4", "2", "-t", "5.0"]) self.assertEqual(args.sample_size, 4) self.assertEqual(args.num_replicates, 2) self.assertEqual(args.mutation_rate, 5.0) self.assertEqual(args.trees, False) args = parser.parse_args(["4", "2", "-T"]) self.assertEqual(args.sample_size, 4) self.assertEqual(args.num_replicates, 2) self.assertEqual(args.mutation_rate, 0.0) self.assertEqual(args.trees, True) args = parser.parse_args("15 1000 -t 10.04 -r 100.0 2501".split()) self.assertEqual(args.sample_size, 15) self.assertEqual(args.num_replicates, 1000) self.assertEqual(args.mutation_rate, 10.04) self.assertEqual(args.trees, False) self.assertEqual(args.recombination, [100, 2501]) args = parser.parse_args( "15 1000 -t 2.0 -eN 1.0 .1 -eN 2.0 4.0".split()) self.assertEqual(args.sample_size, 15) self.assertEqual(args.num_replicates, 1000) self.assertEqual(args.mutation_rate, 2.0) self.assertEqual(args.size_event, [[1.0, 0.1], [2.0, 4.0]]) args = parser.parse_args( "15 1000 -t 6.4 -G 6.93 -eG 0.2 0.0 -eN 0.3 0.5".split()) self.assertEqual(args.sample_size, 15) self.assertEqual(args.num_replicates, 1000) self.assertEqual(args.mutation_rate, 6.4) self.assertEqual(args.growth_rate, 6.93) self.assertEqual(args.growth_event, [[0.2, 0.0]]) self.assertEqual(args.size_event, [[0.3, 0.5]])
def test_positional_arguments(self): parser = cli.get_mspms_parser() args = parser.parse_args(["40", "20"]) self.assertEqual(args.sample_size, 40) self.assertEqual(args.num_replicates, 20)