def setUp(self): self.same = SameRunsKirov()
class PositiveTestsKirov(unittest.TestCase): def setUp(self): self.same = SameRunsKirov() def test_allsame(self): runs = [] for i in range(4): runs.append(Run(0, 0, i + 1, '100', '100', "OK")) submits = [] for i in range(10): submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37)) for submit in submits: self.same.visit(submit) # sample = ("10 10 10 10\n" + # "10 10 10 10\n" + # "10 10 10 10\n" + # "10 10 10 10\n") self.assertEqual(self.same.pretty_print(), 'Submits - 10\nEquivalent tests: {1 2 3 4}\n' 'we recommend removing: 3/4 (75%) {2 3 4}\nit will save: 3sec/4sec (75%)\n') def test_mixed(self): runs = [] runs.append(Run(0, 0, 1, '100', '100', "OK")) runs.append(Run(0, 0, 2, '100', '100', "WA")) runs.append(Run(0, 0, 3, '100', '100', "WA")) runs.append(Run(0, 0, 4, '100', '100', "WA")) submits = [] for i in range(10): submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37)) # sample = ("10 0 0 0\n" + # "0 10 10 10\n" + # "0 10 10 10\n" + # "0 10 10 10\n") for submit in submits: self.same.visit(submit) self.assertEqual(self.same.pretty_print(), 'Submits - 10\nEquivalent tests: {2 3 4}\nUnique tests: {1}\n' 'we recommend removing: 2/4 (50%) {3 4}\nit will save: 2sec/4sec (50%)\n') def test_different(self): runs = [] runs.append(Run(0, 0, 1, '100', '100', "OK")) runs.append(Run(0, 0, 2, '100', '100', "WA")) runs.append(Run(0, 0, 3, '100', '100', "OK")) runs.append(Run(0, 0, 4, '100', '100', "WA")) submits = [] for i in range(10): submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37)) for submit in submits: self.same.visit(submit) # sample = ("10 0 10 0\n" + # "0 10 0 10\n" + # "10 0 10 0\n" + # "0 10 0 10\n") self.assertEqual(self.same.pretty_print(), 'Submits - 10\nEquivalent tests: {1 3} {2 4}\nwe recommend ' 'removing: 2/4 (50%) {3 4}\nit will save: 2sec/4sec (50%)\n') def test_difruns(self): runs = [] runs.append(Run(0, 0, 1, '100', '100', "OK")) runs.append(Run(0, 0, 2, '100', '100', "WA")) runs.append(Run(0, 0, 3, '100', '100', "OK")) runs.append(Run(0, 0, 4, '100', '100', "WA")) submits = [] for i in range(4): submits.append(Submit(i, (0, 0), 0, 0, runs[:2], 0, 'ACM', 37)) submits.append(Submit(i, (0, 0), 0, 0, runs, 0, 'ACM', 37)) submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37)) submits.append(Submit(i, (0, 0), 0, 0, runs[:1], 0, 'ACM', 37)) for submit in submits: self.same.visit(submit) # sample = ("10 0 4 0\n" + # "0 8 0 4\n" + # "4 0 4 0\n" + # "0 4 0 4\n") self.assertEqual(self.same.pretty_print(), 'Submits - 10\nUnique tests: {1 2}\n')