def testNoWinningLabels(self):
        """Inferring 0/4 classes should return 0 winning labels."""
        model = ClassificationModel()

        inferenceResult = numpy.array([0, 0, 0, 0])
        topLabels = model.getWinningLabels(inferenceResult)

        self.assertFalse(topLabels)
    def testNoWinningLabels(self):
        """Inferring 0/4 classes should return 0 winning labels."""
        model = ClassificationModel()

        inferenceResult = numpy.array([0, 0, 0, 0])
        topLabels = model.getWinningLabels(inferenceResult)

        self.assertFalse(topLabels)
    def testWinningLabels(self):
        """
    Tests whether classification base class returns multiple labels correctly.
    """
        model = ClassificationModel()
        inferenceResult = numpy.array([3, 1, 4, 0, 1, 0])

        topLabels = model.getWinningLabels(inferenceResult, numLabels=1)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2])), "Output should be label 2.")

        topLabels = model.getWinningLabels(inferenceResult, numLabels=2)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2, 0])), "Output should be labels 2 and 0.")

        # Test only nonzero labels are returned.
        inferenceResult = numpy.array([3, 0, 4, 0, 0, 0])
        topLabels = model.getWinningLabels(inferenceResult, numLabels=5)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2, 0])), "Output should be labels 2 and 0.")
    def testWinningLabels(self):
        """
    Tests whether classification base class returns multiple labels correctly.
    """
        model = ClassificationModel()
        inferenceResult = numpy.array([3, 1, 4, 0, 1, 0])

        topLabels = model.getWinningLabels(inferenceResult, numLabels=1)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2])),
                        "Output should be label 2.")

        topLabels = model.getWinningLabels(inferenceResult, numLabels=2)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2, 0])),
                        "Output should be labels 2 and 0.")

        # Test only nonzero labels are returned.
        inferenceResult = numpy.array([3, 0, 4, 0, 0, 0])
        topLabels = model.getWinningLabels(inferenceResult, numLabels=5)
        self.assertTrue(numpy.allclose(topLabels, numpy.array([2, 0])),
                        "Output should be labels 2 and 0.")