/** Test of getVariance method, of class GeneralDiscrete. */ @Test public void testnoise() { System.out.println("test noise"); Map<Integer, Double> pdf = new HashMap<Integer, Double>(2); pdf.put(1, 0.7); pdf.put(3, 0.3); GeneralDiscrete dist = new GeneralDiscrete(pdf); int iters = 100000; double count1s = 0; double count3s = 0; for (int i = 0; i < iters; i++) { int n = (int) Math.round(dist.getNoise()); if (n == 1) count1s++; else if (n == 3) count3s++; else fail("noise returned a value of zero probability!"); } assertEquals(0.7, count1s / iters, 0.01); assertEquals(0.3, count3s / iters, 0.01); }