/* * Copyright 2012, Facebook, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.facebook.LinkBench; import java.util.Properties; import com.facebook.LinkBench.distributions.LogNormalDistribution; import com.facebook.LinkBench.distributions.ProbabilityDistribution; public class LogNormalTest extends DistributionTestBase { @Override protected ProbabilityDistribution getDist() { return new LogNormalDistribution(); } @Override protected Properties getDistParams() { Properties props = new Properties(); props.setProperty(LogNormalDistribution.CONFIG_SIGMA, "1"); props.setProperty(LogNormalDistribution.CONFIG_MEDIAN, "5000"); return props; } @Override protected double tolerance() { return 0.05; } /** * Sanity check values */ public void testLogNormal() { LogNormalDistribution d = new LogNormalDistribution(); int median = 10; d.init(0, 100, median, 1); // CDF of median should be 0.5 by def. assertEquals(0.5, d.cdf(median), 0.01); // Precomputed points d.init(0, 1000, 100, 1); assertEquals(0.033434, d.cdf(16), 0.0001); assertEquals(0.327695, d.cdf(64), 0.0001); assertEquals(0.597491, d.cdf(128), 0.0001); assertEquals(0.94878, d.cdf(512), 0.0001); } @Override public void testPDFSanity() { System.err.println("test not implemented"); } @Override public void testPDFSum() { System.err.println("test not implemented"); } @Override public void testCDFPDFConsistency() { System.err.println("test not implemented"); } @Override public void testQuantileSanity() { System.err.println("test not implemented"); } }