def split(self, target, total): x = len(target) / total bigger = len(target) % total suite = TestSuite() [ suite.append(target[i * (x + 1):(i + 1) * (x + 1)]) for i in range(bigger) ] [ suite.append(target[(bigger * (x + 1)) + i * x:(bigger * (x + 1)) + (i + 1) * x]) for i in range(total - bigger) ] random.shuffle(suite) return suite
def get_suite(self, instance): versions = self.get_versions(instance.data) tests = self.get_tests(instance.data) result = TestSuite(content='random') tuples = [] for v in versions: [tuples.append([v, t]) for t in tests] random.shuffle(tuples) total_inst = instance.data['total'] result = self.split(tuples, total_inst) suite = TestSuite(content='random') for element in result: v = [] t = [] [v.append(item[0]) for item in element] [t.append(item[1]) for item in element] suite.append([v, t]) return suite