Author: echatellier Date: 2015-01-23 10:47:02 +0000 (Fri, 23 Jan 2015) New Revision: 4174 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4174 Log: fixes #6525: Dans les facteurs continues, les valeurs de r?\195?\169f?\195?\169rences n?\195?\169gatives ne peuvent pas fonctionner Added: branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomainTest.java Modified: branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java Modified: branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java =================================================================== --- branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java 2015-01-23 10:45:48 UTC (rev 4173) +++ branches/isis-fish-4.3.1.x/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java 2015-01-23 10:47:02 UTC (rev 4174) @@ -189,8 +189,10 @@ args.add(1.0 + coef); // max } else { double ref = (Double)reference; - args.add(ref * (1.0 - coef)); // min - args.add(ref * (1.0 + coef)); // max + // Math.abs(ref) est utilisé pour avoir un resultat correct même avec une + // valeur de référence négative + args.add(ref - coef * Math.abs(ref)); // min + args.add(ref + coef * Math.abs(ref)); // max } } else { for (DistributionParam param : distribution.getDistibutionParams()) { Added: branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomainTest.java =================================================================== --- branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomainTest.java (rev 0) +++ branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomainTest.java 2015-01-23 10:47:02 UTC (rev 4174) @@ -0,0 +1,65 @@ +/* + * #%L + * IsisFish + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2015 Ifremer, Code Lutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ifremer.isisfish.simulator.sensitivity.domain; + +import org.junit.Assert; +import org.junit.Test; + +import fr.ifremer.isisfish.simulator.sensitivity.Distribution; + +public class ContinuousDomainTest { + + /** + * Test jdistlib pour verifier que les parametres sont bien compris en compte. + * + * Ici : valeurs positives non gérées correctement. + */ + @Test + public void testJDistLib1() { + + ContinuousDomain d = new ContinuousDomain(Distribution.QUNIFPC); + d.getDistributionParameters().put("reference", 0.83); + d.getDistributionParameters().put("coefficient", 0.5); + + Assert.assertEquals(0.581, (Double)d.getValueForIdentifier(0.2), 0.001); + Assert.assertEquals(1.162, (Double)d.getValueForIdentifier(0.9), 0.001); + } + + /** + * Test jdistlib pour verifier que les parametres sont bien compris en compte. + * + * Ici : valeurs négatives non gérées correctement (min > max). + */ + @Test + public void testJDistLib2() { + + ContinuousDomain d = new ContinuousDomain(Distribution.QUNIFPC); + d.getDistributionParameters().put("reference", -0.83); + d.getDistributionParameters().put("coefficient", 0.5); + + Assert.assertEquals(-1.079, (Double)d.getValueForIdentifier(0.2), 0.001); + Assert.assertEquals(-0.498, (Double)d.getValueForIdentifier(0.9), 0.001); + } +} Property changes on: branches/isis-fish-4.3.1.x/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomainTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native