def testClassifySuspects(self): """Tests ``ClassifySuspects`` classify a list of ``Suspect``s.""" suspect1 = Suspect(self.GetDummyChangeLog(), 'src/') suspect1.changelog = suspect1.changelog._replace(touched_files=[ FileChangeInfo(ChangeType.MODIFY, 'comp1/a.cc', 'comp1/b.cc') ]) suspect2 = Suspect(self.GetDummyChangeLog(), 'src/') suspect2.changelog = suspect2.changelog._replace(touched_files=[ FileChangeInfo(ChangeType.MODIFY, 'comp2/a.cc', 'comp2/b.cc') ]) self.assertEqual( self.classifier.ClassifySuspects([suspect1, suspect2]), ['Comp1>Dummy', 'Comp2>Dummy'])
def testCall(self): """Tests ``__call__`` of the filter.""" suspect1 = Suspect(self.GetDummyChangeLog(), 'src/') suspect2 = Suspect(self.GetDummyChangeLog(), 'src/') suspect3 = Suspect(self.GetDummyChangeLog(), 'src/') suspect1.changelog = suspect1.changelog._replace(revision='rev1') suspect2.changelog = suspect2.changelog._replace(revision='rev2') suspect3.changelog = suspect3.changelog._replace(revision='rev3') ignore_revisions = set(['rev1', 'rev2']) suspect_filter = suspect_filters.FilterIgnoredRevisions( _MockGitRepository(ignore_revisions=ignore_revisions)) self.assertSetEqual(set(suspect_filter([suspect1, suspect2, suspect3])), set([suspect3]))
def testClassifySuspectNoMatch(self): """Tests ``ClassifySuspect`` returns None if there is no file match.""" suspect = Suspect(self.GetDummyChangeLog(), 'dummy') suspect.changelog = suspect.changelog._replace(touched_files=[ FileChangeInfo(ChangeType.MODIFY, 'comp1.cc', 'comp1.cc') ]) self.assertEqual(self.classifier.ClassifySuspect(suspect), [])
def testClassifySuspect(self): """Tests ``ClassifySuspect`` method.""" suspect = Suspect(self.GetDummyChangeLog(), 'src/') suspect.changelog = suspect.changelog._replace(touched_files=[ FileChangeInfo(ChangeType.MODIFY, 'comp1/a.cc', 'comp1/b.cc') ]) self.assertEqual(self.classifier.ClassifySuspect(suspect), ['Comp1>Dummy'])
def testIsSuspectFromRobotAuthor(self): """Tests that ``_IsSuspectFromRobotAuthor`` method returns True.""" suspect = Suspect(self.GetDummyChangeLog(), 'src/') robot_author = suspect.changelog.author._replace( email='*****@*****.**') robot_cl = suspect.changelog._replace(author=robot_author) suspect.changelog = robot_cl suspect_filter = suspect_filters.FilterSuspectFromRobotAuthor() self.assertTrue(suspect_filter._IsSuspectFromRobotAuthor(suspect))
def testCall(self): """Tests ``__call__`` method.""" suspect = Suspect(self.GetDummyChangeLog(), 'src/') touched_file = FileChangeInfo.FromDict({'old_path': None, 'new_path': 'a.cc', 'change_type': 'add'}) suspect.changelog = suspect.changelog._replace( touched_files=[touched_file]*15) self.assertEqual(self._feature(None)(suspect).value, 0.0)
def testCall(self): """Tests ``__call__`` method.""" suspect1 = Suspect(self.GetDummyChangeLog(), 'src/') suspect2 = Suspect(self.GetDummyChangeLog(), 'src/') robot_author = suspect2.changelog.author._replace( email='*****@*****.**') robot_cl = suspect2.changelog._replace(author=robot_author) suspect2.changelog = robot_cl suspect_filter = suspect_filters.FilterSuspectFromRobotAuthor() self.assertListEqual(suspect_filter([suspect1, suspect2]), [suspect1])