def ClusterAndCompare(sequence, partition_point): """Returns the comparison result and the clusters at the partition point.""" # Detect a difference between the two clusters cluster_a, cluster_b = Cluster(sequence, partition_point) if len(cluster_a) > 2 and len(cluster_b) > 2: magnitude = float(math_utils.Iqr(cluster_a) + math_utils.Iqr(cluster_b)) / 2 else: magnitude = 1 return (pinpoint_compare.Compare(cluster_a, cluster_b, (len(cluster_a) + len(cluster_b)) // 2, 'performance', magnitude), cluster_a, cluster_b)
def testNoValuesB(self): comparison = compare.Compare(range(10), [], 10, 'performance', 1) self.assertEqual(comparison.result, compare.UNKNOWN) self.assertIsNone(comparison.p_value)
def testNoValuesA(self): comparison = compare.Compare([], [0] * 10, 10, 'functional', 1) self.assertEqual(comparison.result, compare.UNKNOWN) self.assertIsNone(comparison.p_value)
def testAttemptAcount(self): comparison = compare.Compare(range(10), range(10), 19, 'performance') self.assertEqual(comparison, compare.UNKNOWN)
def testUnknown(self): comparison = compare.Compare(range(10), range(3, 13), 10, 'performance', 1) self.assertEqual(comparison.result, compare.UNKNOWN) self.assertLessEqual(comparison.p_value, comparison.high_threshold)
def testNoValuesA(self): comparison = compare.Compare([], [0] * 10, 1000, 'functional') self.assertEqual(comparison, compare.UNKNOWN)
def testAttemptAcount(self): comparison = compare.Compare([0] * 50, [0] * 50, 99, 'functional') self.assertEqual(comparison, compare.UNKNOWN)
def testSame(self): comparison = compare.Compare([0] * 10, [0] * 10, 10, 'functional', 0.5) self.assertEqual(comparison.result, compare.SAME) self.assertGreater(comparison.p_value, comparison.high_threshold)
def testSame(self): comparison = compare.Compare([0] * 50, [0] * 50, 100, 'functional') self.assertEqual(comparison, compare.SAME)
def testUnknown(self): comparison = compare.Compare([0] * 50, [0] * 49 + [1], 100, 'functional') self.assertEqual(comparison, compare.UNKNOWN)
def testDifferent(self): comparison = compare.Compare([0] * 10, [0] * 4 + [1] * 6, 20, 'functional') self.assertEqual(comparison, compare.DIFFERENT)
def testHighAttemptCount(self): comparison = compare.Compare([0] * 500, [0] * 500, 1000, 'functional') self.assertEqual(comparison, compare.SAME)
def testNoValuesB(self): comparison = compare.Compare(range(10), [], 10, 'performance') self.assertEqual(comparison, compare.UNKNOWN)
def testDifferent(self): comparison = compare.Compare([0] * 10, [1] * 10, 10, 'functional', 0.5) self.assertEqual(comparison.result, compare.DIFFERENT) self.assertLessEqual(comparison.p_value, comparison.low_threshold)
def testDifferent(self): comparison = compare.Compare(range(10), range(7, 17), 20, 'performance') self.assertEqual(comparison, compare.DIFFERENT)
def testUnknown(self): comparison = compare.Compare([0] * 10, [0] * 9 + [1], 10, 'functional', 0.5) self.assertEqual(comparison.result, compare.UNKNOWN) self.assertLessEqual(comparison.p_value, comparison.high_threshold)
def testSame(self): comparison = compare.Compare(range(10), range(10), 20, 'performance') self.assertEqual(comparison, compare.SAME)
def testDifferent(self): comparison = compare.Compare(range(10), range(7, 17), 10, 'performance', 1) self.assertEqual(comparison.result, compare.DIFFERENT) self.assertLessEqual(comparison.p_value, comparison.low_threshold)
def testUnknown(self): comparison = compare.Compare(range(10), range(5, 15), 20, 'performance') self.assertEqual(comparison, compare.UNKNOWN)
def testSame(self): comparison = compare.Compare(range(10), range(10), 10, 'performance', 1) self.assertEqual(comparison.result, compare.SAME) self.assertGreater(comparison.p_value, comparison.high_threshold)
def testUnknown(self): comparison = compare.Compare(range(10), range(3, 13), 10, 'performance', 1) self.assertEqual(comparison, compare.UNKNOWN)