/* OptimizerTest.java created 2011-02-21 * */ package org.signalml.math.iirdesigner; import org.junit.Test; import org.signalml.math.iirdesigner.EllipticIIRDesigner; import org.signalml.math.iirdesigner.EllipticIIRDesigner.KRatio; import org.signalml.math.iirdesigner.EllipticIIRDesigner.VRatio; import org.signalml.math.iirdesigner.math.FunctionOptimizer; import static org.junit.Assert.*; /** * This class performes unit tests on {@link FunctionOptimizer} * * @author Piotr Szachewicz */ public class FunctionOptimizerTest { /** * Test method for {@link FunctionOptimizer#minimizeFunction(org.apache.commons.math.analysis.UnivariateRealFunction, double, int) }. */ @Test public void testMinimizeFunction() { VRatio vRatio = new VRatio(1.0023772930076005, 0.9999004638148846); double startValue = 1.688482411280818; double r = FunctionOptimizer.minimizeFunction(vRatio, startValue, 250); assertEquals(0.8830402459180449, r, 1e-3); } /** * Test method for {@link FunctionOptimizer#minimizeFunctionConstrained(org.apache.commons.math.analysis.UnivariateRealFunction, double, double, int) }. */ @Test public void testMinimizeFunctionConstrained() { EllipticIIRDesigner.KRatio kRatio = new KRatio(); kRatio.setKRatio(0.5); double m = FunctionOptimizer.minimizeFunctionConstrained(kRatio, 0.0, 1.0, 250); assertEquals(0.02943873, m, 1e-4); } }