def test_write_output(self): builder = TreeBuilder() builder.sequences = {"seq1": "a sequence object"} builder.tree = "Tree" builder.sequences_output_file = StringIO() builder.tree_output_file = StringIO() builder._write_tree = MagicMock() builder._write_sequences = MagicMock() builder.write_output() builder._write_tree.assert_called_with("Tree", builder.tree_output_file) builder._write_sequences.assert_called_with( ["a sequence object"], builder.sequences_output_file)
def test_write_output(self): builder = TreeBuilder() builder.sequences = {"seq1": "a sequence object"} builder.tree = "Tree" builder.sequences_output_file = StringIO() builder.tree_output_file = StringIO() builder._write_tree = MagicMock() builder._write_sequences = MagicMock() builder.write_output() builder._write_tree.assert_called_with("Tree", builder.tree_output_file) builder._write_sequences.assert_called_with(["a sequence object"], builder.sequences_output_file)
def test_add_hereditary_nodes(self, temp_mock): builder = TreeBuilder() output_directory = tempfile.mkdtemp() temp_mock.mkdtemp.return_value = output_directory temp_mock.NamedTemporaryFile.side_effect = \ (tempfile.NamedTemporaryFile(dir=output_directory, delete=False) for i in xrange(10)) fasta_filename = os.path.join(test_data(), 'animals.mfa') with open(fasta_filename) as fasta_file: builder.load_fasta_sequences(fasta_file) tree_filename = os.path.join(test_data(), 'animals.terminal_nodes.newick') builder.tree = Bio.Phylo.read(tree_filename, 'newick') builder.add_hereditary_nodes() self.assertIsInstance(builder.tree, Bio.Phylo.Newick.Tree) tree_nodes = sorted([node.name for node in builder.tree.find_clades()]) self.assertItemsEqual(tree_nodes, builder.sequences.keys()) self.assertEqual(len(tree_nodes), 19) self.assertFalse(os.path.isdir(output_directory))