예제 #1
0
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)
예제 #2
0
 def testNoValuesB(self):
     comparison = compare.Compare(range(10), [], 10, 'performance', 1)
     self.assertEqual(comparison.result, compare.UNKNOWN)
     self.assertIsNone(comparison.p_value)
예제 #3
0
 def testNoValuesA(self):
     comparison = compare.Compare([], [0] * 10, 10, 'functional', 1)
     self.assertEqual(comparison.result, compare.UNKNOWN)
     self.assertIsNone(comparison.p_value)
예제 #4
0
 def testAttemptAcount(self):
   comparison = compare.Compare(range(10), range(10), 19, 'performance')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #5
0
 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)
예제 #6
0
 def testNoValuesA(self):
   comparison = compare.Compare([], [0] * 10, 1000, 'functional')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #7
0
 def testAttemptAcount(self):
   comparison = compare.Compare([0] * 50, [0] * 50, 99, 'functional')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #8
0
 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)
예제 #9
0
 def testSame(self):
   comparison = compare.Compare([0] * 50, [0] * 50, 100, 'functional')
   self.assertEqual(comparison, compare.SAME)
예제 #10
0
 def testUnknown(self):
   comparison = compare.Compare([0] * 50, [0] * 49 + [1], 100, 'functional')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #11
0
 def testDifferent(self):
   comparison = compare.Compare([0] * 10, [0] * 4 + [1] * 6, 20, 'functional')
   self.assertEqual(comparison, compare.DIFFERENT)
예제 #12
0
 def testHighAttemptCount(self):
   comparison = compare.Compare([0] * 500, [0] * 500, 1000, 'functional')
   self.assertEqual(comparison, compare.SAME)
예제 #13
0
 def testNoValuesB(self):
   comparison = compare.Compare(range(10), [], 10, 'performance')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #14
0
 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)
예제 #15
0
 def testDifferent(self):
   comparison = compare.Compare(range(10), range(7, 17), 20, 'performance')
   self.assertEqual(comparison, compare.DIFFERENT)
예제 #16
0
 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)
예제 #17
0
 def testSame(self):
   comparison = compare.Compare(range(10), range(10), 20, 'performance')
   self.assertEqual(comparison, compare.SAME)
예제 #18
0
 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)
예제 #19
0
 def testUnknown(self):
   comparison = compare.Compare(range(10), range(5, 15), 20, 'performance')
   self.assertEqual(comparison, compare.UNKNOWN)
예제 #20
0
 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)
예제 #21
0
 def testUnknown(self):
     comparison = compare.Compare(range(10), range(3, 13), 10,
                                  'performance', 1)
     self.assertEqual(comparison, compare.UNKNOWN)