# Path: punch/vcs_use_cases/release.py
# class VCSReleaseUseCase(use_case.VCSUseCase):


import six
    import mock
from punch.vcs_use_cases import release as rel
    from unittest import mock
    use_case = rel.VCSReleaseUseCase(repo)

    use_case.pre_start_release()

    assert repo.pre_start_release.called
    assert repo.pre_start_release.called_with()


def test_start_release():
    repo = mock.Mock()
    use_case = rel.VCSReleaseUseCase(repo)

    use_case.start_release()

    assert repo.start_release.called
    assert repo.start_release.called_with()


def test_finish_release():
    repo = mock.Mock()
    use_case = rel.VCSReleaseUseCase(repo)

    use_case.finish_release()

    assert repo.finish_release.called
    assert repo.finish_release.called_with()


def test_post_finish_release():
    repo = mock.Mock()

# Path: punch/vcs_use_cases/release.py
# class VCSReleaseUseCase(use_case.VCSUseCase):


# Path: tests/vcs_use_cases/test_release_use_case.py
import six
    import mock
from punch.vcs_use_cases import release as rel
    from unittest import mock

    use_case = rel.VCSReleaseUseCase(repo)

    use_case.pre_start_release()

    assert repo.pre_start_release.called
    assert repo.pre_start_release.called_with()


def test_start_release():
    repo = mock.Mock()
    use_case = rel.VCSReleaseUseCase(repo)

    use_case.start_release()

    assert repo.start_release.called
    assert repo.start_release.called_with()


def test_finish_release():
    repo = mock.Mock()
    use_case = rel.VCSReleaseUseCase(repo)

    use_case.finish_release()

    assert repo.finish_release.called
    assert repo.finish_release.called_with()


def test_post_finish_release():
    repo = mock.Mock()

    use_case = rel.VCSReleaseUseCase(repo)