@@ -319,6 +319,29 @@ def test_populations_default_values(self):
319319 args = parser .parse_args ([cmd , tree_sequence ])
320320 assert args .tree_sequence == tree_sequence
321321
322+ def test_migrations_default_values (self ):
323+ parser = cli .get_tskit_parser ()
324+ cmd = "migrations"
325+ tree_sequence = "test.trees"
326+ args = parser .parse_args ([cmd , tree_sequence ])
327+ assert args .tree_sequence == tree_sequence
328+
329+ def test_migrations_short_args (self ):
330+ parser = cli .get_tskit_parser ()
331+ cmd = "migrations"
332+ tree_sequence = "test.trees"
333+ args = parser .parse_args ([cmd , tree_sequence , "-p" , "2" ])
334+ assert args .tree_sequence == tree_sequence
335+ assert args .precision == 2
336+
337+ def test_migrations_long_args (self ):
338+ parser = cli .get_tskit_parser ()
339+ cmd = "migrations"
340+ tree_sequence = "test.trees"
341+ args = parser .parse_args ([cmd , tree_sequence , "--precision" , "5" ])
342+ assert args .tree_sequence == tree_sequence
343+ assert args .precision == 5
344+
322345 def test_trees_default_values (self ):
323346 parser = cli .get_tskit_parser ()
324347 cmd = "trees"
@@ -464,6 +487,23 @@ def test_mutations(self):
464487 output_mutations = stdout .splitlines ()
465488 self .verify_mutations (output_mutations , precision )
466489
490+ def verify_migrations (self , output_migrations , precision ):
491+ with tempfile .TemporaryFile ("w+" ) as f :
492+ self ._tree_sequence .dump_text (migrations = f , precision = precision )
493+ f .seek (0 )
494+ output = f .read ().splitlines ()
495+ assert output == output_migrations
496+
497+ def test_migrations (self ):
498+ cmd = "migrations"
499+ precision = 4
500+ stdout , stderr = capture_output (
501+ cli .tskit_main , [cmd , self ._tree_sequence_file , "-p" , str (precision )]
502+ )
503+ assert len (stderr ) == 0
504+ output_migrations = stdout .splitlines ()
505+ self .verify_migrations (output_migrations , precision )
506+
467507 def verify_provenances (self , output_provenances ):
468508 with tempfile .TemporaryFile ("w+" ) as f :
469509 self ._tree_sequence .dump_text (provenances = f )
@@ -576,6 +616,9 @@ def test_sites(self):
576616 def test_mutations (self ):
577617 self .verify ("mutations" )
578618
619+ def test_migrations (self ):
620+ self .verify ("migrations" )
621+
579622 def test_provenances (self ):
580623 self .verify ("provenances" )
581624
0 commit comments