Example #1
0
    def testMultipleValues(self):
        """If the minimum or maximum value appears more than once in the list, return the first one"""
        value, index = MinMax()([5, 1, 8, 4, 1, 9, 1])
        self.assertEqual(value, 1.0)
        self.assertEqual(index, 1)

        value, index = MinMax(type="max")([9, 6, 5, 9, 8, 4, 9])
        self.assertEqual(value, 9.0)
        self.assertEqual(index, 0)
Example #2
0
 def testMax(self):
     value, index = MinMax(type="max")([3, 7, -45, 2, -1, 0])
     self.assertEqual(value, 7)
     self.assertEqual(index, 1)
Example #3
0
 def testMixedTypes(self):
     value, index = MinMax()([4, 5, 3.3])
     self.assertAlmostEqual(value, 3.3)
     self.assertEqual(index, 2)
Example #4
0
 def testNegatives(self):
     value, index = MinMax()([3, 7, -45, 2, -1, 0])
     self.assertEqual(value, -45.0)
     self.assertEqual(index, 2)
Example #5
0
 def testMin(self):
     """An array of normal numbers, finding minimum"""
     value, index = MinMax()([5, 8, 4, 9, 1])
     self.assertEqual(value, 1.0)
     self.assertEqual(index, 4)
Example #6
0
 def testOne(self):
     """An array of a single value"""
     value, index = MinMax()([100])
     self.assertEqual(value, 100.0)
     self.assertEqual(index, 0)
Example #7
0
 def testAllSame(self):
     value, index = MinMax()([0]*10)
     self.assertEqual(value, 0.0)
     self.assertEqual(index, 0)
Example #8
0
 def testEmpty(self):
     """An empty input causes an exception"""
     self.assertComputeFails(MinMax(), [])
     self.assertComputeFails(MinMax(type="max"), [])
Example #9
0
 def testDefaultIsMin(self):
     """Making the Algorithm with no type defaults to min"""
     value, index = MinMax()([3,1,2])
     self.assertEqual(value, 1.0)
     self.assertEqual(index, 1)
Example #10
0
 def testNonArray(self):
     self.assertComputeFails(MinMax()('Not an array'))
Example #11
0
 def testNonNumeric(self):
     self.assertComputeFails(MinMax()(['a', 1]))