r535 - in trunk: sammoa-application/src/main/resources/i18n sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence
Author: fdesbois Date: 2012-09-06 10:33:03 +0200 (Thu, 06 Sep 2012) New Revision: 535 Url: http://forge.codelutin.com/repositories/revision/sammoa/535 Log: repair broken test Modified: trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPoints.java trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/GeoPointsTest.java Modified: trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties =================================================================== --- trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-09-06 08:05:18 UTC (rev 534) +++ trunk/sammoa-application/src/main/resources/i18n/sammoa-application_en_GB.properties 2012-09-06 08:33:03 UTC (rev 535) @@ -1,6 +1,7 @@ sammoa.config.admin.email=Administrator's email sammoa.config.application.site.url=Website URL of the application sammoa.config.application.version=Version of the application +sammoa.config.audio.compression= sammoa.config.audio.recordDelayInSeconds=Delay in seconds between each audio record. This will record multiple files at the same time to avoid too sudden stops. (Warning \: this is not supported by all sound systems) sammoa.config.audio.sampleRate=Rate for the audio sampling (possible values \: 8000, 11025, 16000, 22050, 44100) sammoa.config.audio.sampleSizeInBits=Size of bits for the audio sampling (possible values \: 8, 16) Modified: trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPoints.java =================================================================== --- trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPoints.java 2012-09-06 08:05:18 UTC (rev 534) +++ trunk/sammoa-persistence/src/main/java/fr/ulr/sammoa/persistence/GeoPoints.java 2012-09-06 08:33:03 UTC (rev 535) @@ -25,11 +25,13 @@ import com.google.common.base.Function; import com.google.common.base.Objects; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.FluentIterable; import com.google.common.collect.Lists; import com.google.common.collect.Ordering; +import org.joda.time.DateTime; import org.joda.time.Interval; import java.util.Comparator; @@ -49,6 +51,12 @@ // static class do not have instanciation } + public static GeoPoint newEmptyGeoPoint(Date recordTime) { + GeoPointImpl result = new GeoPointImpl(EMPTY_COORDINATE, EMPTY_COORDINATE); + result.setRecordTime(recordTime); + return result; + } + public static boolean equal(GeoPoint geoPoint1, GeoPoint geoPoint2) { boolean result = geoPoint1 == null && geoPoint2 == null; @@ -104,7 +112,11 @@ // We continue starting from the previous index to avoid loop on all the date list index = getBeforeDateIndex(index > 0 ? index - 1 : 0, geoPointDates, date); - result.add(geoPoints.get(index)); + if (index != -1) { + result.add(geoPoints.get(index)); + } else { + result.add(newEmptyGeoPoint(date)); + } } } return result; @@ -122,13 +134,26 @@ List<Date> geoPointDates = Lists.transform(source, toDate()); int index = getBeforeDateIndex(0, geoPointDates, date); - result = geoPoints.get(index); + if (index != -1) { + result = geoPoints.get(index); + } else { + result = newEmptyGeoPoint(date); + } } return result; } protected static int getBeforeDateIndex(int startIndex, List<Date> source, Date date) { int size = source.size(); + Preconditions.checkElementIndex(startIndex, size); + DateTime dateTime = Dates.toDateTime(date); + + // If the first date is after the argument date we return -1, no date + // is available before + if (Dates.toDateTime(source.get(0)).isAfter(dateTime)) { + return -1; + } + for (int index = startIndex; index < size; index++) { int nextIndex = index + 1; @@ -138,7 +163,7 @@ Date end = source.get(nextIndex); Interval interval = Dates.toInterval(begin, end); - if (interval.contains(Dates.toDateTime(date))) { + if (interval.contains(dateTime)) { return index; } Modified: trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/GeoPointsTest.java =================================================================== --- trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/GeoPointsTest.java 2012-09-06 08:05:18 UTC (rev 534) +++ trunk/sammoa-persistence/src/test/java/fr/ulr/sammoa/persistence/GeoPointsTest.java 2012-09-06 08:33:03 UTC (rev 535) @@ -79,7 +79,9 @@ List<GeoPoint> result = GeoPoints.getClosestPoints(geoPoints, dates); Assert.assertEquals(3, result.size()); - Assert.assertEquals(8000, result.get(0).getRecordTime().getTime()); + Assert.assertEquals(4178, result.get(0).getRecordTime().getTime()); + Assert.assertEquals(GeoPoints.EMPTY_COORDINATE, result.get(0).getLatitude()); + Assert.assertEquals(GeoPoints.EMPTY_COORDINATE, result.get(0).getLongitude()); Assert.assertEquals(8000, result.get(1).getRecordTime().getTime()); Assert.assertEquals(15000, result.get(2).getRecordTime().getTime()); }
participants (1)
-
fdesbois@users.forge.codelutin.com