### Question:
ScoreUtils { public static double infoScore(Instances data) { return infoScore(InstanceTools.countClasses(data)); }  static void main(String[] args); static double giniImpurity(double[] distribution); static double giniImpurity(int[] distribution); static double giniImpurity(Instances data); static double giniImpurity(List<Instances> data); static double giniScore(double[] distribution); static void checkEntropyInputs(double[] distribution); static double giniScore(Instances data); static double infoScore(Instances data); static double infoEntropy(double[] distribution); static double infoEntropy(int[] distribution); static double infoEntropy(Instances data); static double infoEntropy(List<Instances> data); static double infoScore(double[] distribution); static double infoScore(List<Instances> children); static double entropySum(List<Instances> children, EntropyFunction entropyFunction); static double giniScore(List<Instances> children); static double giniGain(Instances parent, List<Instances> children); static double gain(Instances parent, List<Instances> children, EntropyFunction entropyFunction); static double gain(double[] parentClassCounts, double[][] childrenClassCounts,
            EntropyFunction entropyFunction); static double infoGain(Instances parent, List<Instances> children); static double giniScore(int[] classCounts); static double infoScore(int[] classCounts); static double giniGain(int[] parentClassCounts, int[][] childrenClassCounts); static double giniGain(double[] parentClassCounts, double[][] childrenClassCounts); static double infoGain(int[] parentClassCounts, int[][] childrenClassCounts); static double infoGain(double[] parentClassCounts, double[][] childrenClassCounts); static double chiSquared(final double[] parentClassCounts, final double[][] childrenClassCounts); static double chiSquared(int[] parentClassCounts, int[][] childClassCounts); static double chiSquared(Instances parent, List<Instances> children);  }### Answer:
@Test public void testInfoScoreImpure() { double v = ScoreUtils.infoScore(new int[] {5, 5}); Assert.assertEquals(0, v, 0.0); }
@Test public void testInfoScoreManyClassImpure() { double v = ScoreUtils.infoScore(new int[] {5, 5, 5, 5, 5, 5, 5, 5}); Assert.assertEquals(0, v, 0.0); }
@Test public void testInfoScorePure() { double v = ScoreUtils.infoScore(new int[] {10, 0}); Assert.assertEquals(1, v, 0.0); }
@Test public void testInfoScorePureManyClass() { double v = ScoreUtils.infoScore(new int[] {10, 0, 0, 0, 0, 0, 0, 0}); Assert.assertEquals(3, v, 0.0); }