class TestGIndex(unittest.TestCase): def setUp(self): self.gindex = GIndex() def create_project(self, forks=0, stars=0, watchs=0): return Project(forks, stars, watchs) def test_when_project_has_no_forks_stars_watchs_gindex_is_0(self): result = self.gindex.calculate(self.create_project()) self.assertEqual(result, 0) def test_when_project_has_one_forks_gindex_is_3(self): result = self.gindex.calculate(self.create_project(forks=1)) self.assertEqual(result, 3) def test_when_project_has_forks_stars_and_watsh_use_them(self): result = self.gindex.calculate(self.create_project(forks=1, stars=1, watchs=1)) self.assertEqual(result, 5)
class GIndexPresenter(object): def __init__(self, view, repo_service=ProjectRepositoryService(GithubConnector())): self.view = view self.gindex_calc = GIndex() self.repo_service = repo_service def request_gindex_for(self, user, repo): project = self.repo_service.find(user, repo) gindex = self.gindex_calc.calculate(project) self.view.show_gindex(gindex)
def setUp(self): self.gindex = GIndex()
def __init__(self, view, repo_service=ProjectRepositoryService(GithubConnector())): self.view = view self.gindex_calc = GIndex() self.repo_service = repo_service