### Question:
DiscreteDistributions { public static double geometric(int k, double p) { if(k<=0 || p<0) { throw new IllegalArgumentException("All the parameters must be positive."); } double probability = Math.pow(1-p,k-1)*p; return probability; }  static double bernoulli(boolean k, double p); static double bernoulliCdf(int k, double p); static double binomial(int k, double p, int n); static double binomialCdf(int k, double p, int n); static double geometric(int k, double p); static double geometricCdf(int k, double p); static double negativeBinomial(int n, int r, double p); static double negativeBinomialCdf(int n, int r, double p); static double uniform(int n); static double uniformCdf(int k, int n); static double hypergeometric(int k, int n, int Kp, int Np); static double hypergeometricCdf(int k, int n, int Kp, int Np); static double poisson(int k, double lamda); static double poissonCdf(int k, double lamda);  }### Answer:
@Test public void testGeometric() { logger.info("Geometric"); int k = 3; double p = 0.5; double expResult = 0.125; double result = DiscreteDistributions.geometric(k, p); assertEquals(expResult, result, Constants.DOUBLE_ACCURACY_HIGH); }