Author: chatellier Date: 2009-09-03 08:53:36 +0000 (Thu, 03 Sep 2009) New Revision: 2579 Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitorTest.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java Log: Fix a sort problem with equals date (often in windows system). Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-09-02 14:08:08 UTC (rev 2578) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-09-03 08:53:36 UTC (rev 2579) @@ -128,7 +128,13 @@ @Override public int compare(SimpleEntry<Date, SimulationJob> o1, SimpleEntry<Date, SimulationJob> o2) { - return o1.getKey().compareTo(o2.getKey()); + // TODO change this, it's a set with duplicated entries !!! + int result = o1.getKey().compareTo(o2.getKey()); + // with bad luck (or windows system) date can be equals :( + if (result == 0) { + result = o1.getValue().compareTo(o2.getValue()); + } + return result; } }); Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitorTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitorTest.java (rev 0) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitorTest.java 2009-09-03 08:53:36 UTC (rev 2579) @@ -0,0 +1,77 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * 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 2 + * 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.simulator.launcher; + +import java.util.Comparator; +import java.util.Date; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.AbstractMap.SimpleEntry; + +import org.junit.Assert; +import org.junit.Test; + +import fr.ifremer.isisfish.AbstractIsisFishTest; +import fr.ifremer.isisfish.simulator.SimulationControl; +import fr.ifremer.isisfish.simulator.SimulationParameter; + +/** + * Test de la class SimulationMonitor. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class SimulationMonitorTest extends AbstractIsisFishTest { + + protected SortedSet<SimpleEntry<Date, SimulationJob>> checkSet = new TreeSet<SimpleEntry<Date, SimulationJob>>(new Comparator<SimpleEntry<Date, SimulationJob>>(){ + @Override + public int compare(SimpleEntry<Date, SimulationJob> o1, + SimpleEntry<Date, SimulationJob> o2) { + + int result = o1.getKey().compareTo(o2.getKey()); + if (result == 0) { + result = o1.getValue().compareTo(o2.getValue()); + } + return result; + } + + }); + + @Test + public void testSimulationSetUniqueNess() { + SimulationService service = SimulationService.getService(); + + SimulationControl control1 = new SimulationControl("test1"); + SimulationItem item1 = new SimulationItem(control1, new SimulationParameter()); + SimulationJob job1 = new SimulationJob(service, item1, 0); + + SimulationControl control2 = new SimulationControl("test2"); + SimulationItem item2 = new SimulationItem(control2, new SimulationParameter()); + SimulationJob job2 = new SimulationJob(service, item2, 0); + + Date d = new Date(); + checkSet.add(new SimpleEntry<Date, SimulationJob>(d, job1)); + checkSet.add(new SimpleEntry<Date, SimulationJob>(d, job2)); + + Assert.assertEquals(2, checkSet.size()); + } +} Property changes on: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitorTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL"