def test_is_applicable_no_metric_source(self):
        """ Test that  is_applicable returns True if there is no metric source. """
        project = MagicMock()
        project.metric_sources.return_value = [None]
        branch_coverage = metric.UnittestBranchCoverage(subject=MagicMock(),
                                                        project=project)

        self.assertTrue(branch_coverage.is_applicable())
    def test_is_applicable_false(self):
        """ Test that  is_applicable returns False if metric source's has_branch_coverage returns False. """
        mock_metric_source = MagicMock()
        mock_metric_source.has_branch_coverage.return_value = False
        project = MagicMock()
        project.metric_sources.return_value = [mock_metric_source]
        branch_coverage = metric.UnittestBranchCoverage(subject=MagicMock(),
                                                        project=project)

        self.assertFalse(branch_coverage.is_applicable())