Search in sources :

Example 86 with FDate

use of de.invesdwin.util.time.date.FDate in project invesdwin-context-persistence by subes.

the class ALiveSegmentedTimeSeriesDBWithNoCacheAndNoQueryCacheTest method testPreviousKeysFilterDuplicateKeys.

@Test
public void testPreviousKeysFilterDuplicateKeys() {
    Assertions.assertThat(asList(cache.query().getPreviousKeys(new FDate(), 100)).size()).isSameAs(6);
    Assertions.assertThat(countReadAllValuesAscendingFrom).isEqualTo(6);
    Assertions.assertThat(countReadNewestValueTo).isEqualTo(3);
    Assertions.assertThat(asList(cache.query().getPreviousKeys(new FDate(), 100)).size()).isEqualTo(entities.size());
    Assertions.assertThat(countReadAllValuesAscendingFrom).isEqualTo(11);
    Assertions.assertThat(countReadNewestValueTo).isEqualTo(6);
}
Also used : IEvaluateGenericFDate(de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate) FDate(de.invesdwin.util.time.date.FDate) ATest(de.invesdwin.context.test.ATest) Test(org.junit.jupiter.api.Test)

Example 87 with FDate

use of de.invesdwin.util.time.date.FDate in project invesdwin-context-persistence by subes.

the class ALiveSegmentedTimeSeriesDBWithNoCacheAndNoQueryCacheTest method testInconsistentGapKey.

@Test
public void testInconsistentGapKey() {
    FDate searchedKey = entities.get(0);
    FDate value = cache.query().getValue(searchedKey);
    Assertions.assertThat(value).isEqualTo(searchedKey);
    searchedKey = entities.get(1);
    value = cache.query().getValue(searchedKey.addDays(1));
    Assertions.assertThat(value).isEqualTo(searchedKey);
}
Also used : IEvaluateGenericFDate(de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate) FDate(de.invesdwin.util.time.date.FDate) ATest(de.invesdwin.context.test.ATest) Test(org.junit.jupiter.api.Test)

Example 88 with FDate

use of de.invesdwin.util.time.date.FDate in project invesdwin-context-persistence by subes.

the class ALiveSegmentedTimeSeriesDBWithNoCacheAndNoQueryCacheTest method testValues.

@Test
public void testValues() {
    final Iterable<FDate> iterable = cache.query().getValues(entities.get(0).addMilliseconds(1), FDate.MAX_DATE);
    final List<FDate> previousKeys = new ArrayList<FDate>();
    for (final FDate d : iterable) {
        previousKeys.add(d);
    }
    Assertions.assertThat(previousKeys).isEqualTo(entities.subList(1, entities.size()));
    Assertions.assertThat(countReadAllValuesAscendingFrom).isEqualTo(1);
    Assertions.assertThat(countReadNewestValueTo).isEqualTo(2);
}
Also used : ArrayList(java.util.ArrayList) IEvaluateGenericFDate(de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate) FDate(de.invesdwin.util.time.date.FDate) ATest(de.invesdwin.context.test.ATest) Test(org.junit.jupiter.api.Test)

Example 89 with FDate

use of de.invesdwin.util.time.date.FDate in project invesdwin-context-persistence by subes.

the class ALiveSegmentedTimeSeriesDBWithNoCacheAndNoQueryCacheTest method testPreviousValueWithDistance.

@Test
public void testPreviousValueWithDistance() {
    FDate previousValue = cache.query().getPreviousValue(new FDate(), entities.size());
    Assertions.assertThat(previousValue).isEqualTo(entities.get(0));
    Assertions.assertThat(countReadAllValuesAscendingFrom).isEqualTo(6);
    // loading newest entity is faster than always loading all entities
    Assertions.assertThat(countReadNewestValueTo).isEqualTo(3);
    previousValue = cache.query().getPreviousValue(new FDate(), 1);
    Assertions.assertThat(previousValue).isEqualTo(entities.get(entities.size() - 2));
    Assertions.assertThat(countReadAllValuesAscendingFrom).isEqualTo(8);
    Assertions.assertThat(countReadNewestValueTo).isEqualTo(4);
}
Also used : IEvaluateGenericFDate(de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate) FDate(de.invesdwin.util.time.date.FDate) ATest(de.invesdwin.context.test.ATest) Test(org.junit.jupiter.api.Test)

Example 90 with FDate

use of de.invesdwin.util.time.date.FDate in project invesdwin-context-persistence by subes.

the class ALiveSegmentedTimeSeriesDBWithNoCacheAndNoQueryCacheTest method testGetPreviousAndNextEntry.

@Test
public void testGetPreviousAndNextEntry() {
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().getPreviousEntry(entities.get(entities.size() - 1), i));
        final FDate expectedValue = entities.get(entities.size() - i - 1);
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().getPreviousEntry(FDate.MAX_DATE, i));
        final FDate expectedValue = entities.get(entities.size() - i - 1);
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().setFutureEnabled().getPreviousEntry(FDate.MIN_DATE, i));
        // filtering query removes the result because it is not a previous result
        final FDate expectedValue = null;
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().setFutureEnabled().getNextEntry(entities.get(0), i));
        final FDate expectedValue = entities.get(i);
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().setFutureEnabled().getNextEntry(FDate.MIN_DATE, i));
        final FDate expectedValue = entities.get(i);
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
    for (int i = 0; i < entities.size(); i++) {
        final FDate value = IHistoricalEntry.unwrapEntryValue(cache.query().setFutureEnabled().getNextEntry(FDate.MAX_DATE, i));
        // filtering query removes the result because it is not a previous result
        final FDate expectedValue = null;
        Assertions.checkEquals(value, expectedValue, i + ": expected [" + expectedValue + "] got [" + value + "]");
    }
}
Also used : IEvaluateGenericFDate(de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate) FDate(de.invesdwin.util.time.date.FDate) ATest(de.invesdwin.context.test.ATest) Test(org.junit.jupiter.api.Test)

Aggregations

FDate (de.invesdwin.util.time.date.FDate)1046 Test (org.junit.jupiter.api.Test)942 ATest (de.invesdwin.context.test.ATest)921 ArrayList (java.util.ArrayList)255 IEvaluateGenericFDate (de.invesdwin.util.math.expression.lambda.IEvaluateGenericFDate)97 Instant (de.invesdwin.util.time.Instant)78 LoopInterruptedCheck (de.invesdwin.util.concurrent.loop.LoopInterruptedCheck)63 APushingHistoricalCacheAdjustKeyProvider (de.invesdwin.util.collections.loadingcache.historical.key.APushingHistoricalCacheAdjustKeyProvider)54 HashSet (java.util.HashSet)36 NoSuchElementException (java.util.NoSuchElementException)34 TimeRange (de.invesdwin.util.time.range.TimeRange)27 File (java.io.File)26 ICloseableIterable (de.invesdwin.util.collections.iterable.ICloseableIterable)20 List (java.util.List)20 Pair (de.invesdwin.util.bean.tuple.Pair)18 APullingHistoricalCacheAdjustKeyProvider (de.invesdwin.util.collections.loadingcache.historical.key.APullingHistoricalCacheAdjustKeyProvider)18 Collection (java.util.Collection)18 PreparedStatement (java.sql.PreparedStatement)16 ResultSet (java.sql.ResultSet)15 Duration (de.invesdwin.util.time.duration.Duration)13