@Test public void invokeDurationMinutes() { FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMinutes(9)), "duration( \"PT9M\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMinutes(200)), "duration( \"PT3H20M\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMinutes(5000)), "duration( \"P3DT11H20M\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMinutes(-5000)), "duration( \"-P3DT11H20M\" )"); }
@Test public void invokeDurationSeconds() { FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofSeconds(9)), "duration( \"PT9S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofSeconds(200)), "duration( \"PT3M20S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofSeconds(5000)), "duration( \"PT1H23M20S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofSeconds(90061)), "duration( \"P1DT1H1M1S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofSeconds(-90061)), "duration( \"-P1DT1H1M1S\" )"); }
@Test public void invokeListNonEmpty() { final List<Object> values = new ArrayList<>(); values.add(1); values.add(BigDecimal.valueOf(10.5)); values.add("test"); FunctionTestUtil.assertResult(codeFunction.invoke(values), "[ 1, 10.5, \"test\" ]"); }
@Test public void invokeContextNonEmpty() { final Map<String, Object> childContextMap = new HashMap<>(); childContextMap.put("childKey1", "childValue1"); final Map<String, Object> contextMap = new HashMap<>(); contextMap.put("key1", "value1"); contextMap.put("key2", childContextMap); FunctionTestUtil.assertResult(codeFunction.invoke(contextMap), "{ key1 : \"value1\", key2 : { childKey1 : \"childValue1\" } }"); } }
@Test public void invokeDurationNanosMillis() { FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofNanos(25)), "duration( \"PT0.000000025S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofNanos(10000)), "duration( \"PT0.00001S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofNanos(10025)), "duration( \"PT0.000010025S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMillis(1500)), "duration( \"PT1.5S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMillis(90061025)), "duration( \"P1DT1H1M1.025S\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofMillis(-90061025)), "duration( \"-P1DT1H1M1.025S\" )"); }
@Test public void invokeZonedDateTime() { final ZonedDateTime zonedDateTime = ZonedDateTime.now(); FunctionTestUtil.assertResult(codeFunction.invoke(zonedDateTime), "date and time( \"" + DateAndTimeFunction.REGION_DATETIME_FORMATTER.format(zonedDateTime) + "\" )"); }
@Test public void invokeLocalDateTime() { final LocalDateTime localDateTime = LocalDateTime.now(); FunctionTestUtil.assertResult(codeFunction.invoke(localDateTime), "date and time( \"" + DateAndTimeFunction.FEEL_DATE_TIME.format(localDateTime) + "\" )"); }
@Test public void invokeContextEmpty() { FunctionTestUtil.assertResult(codeFunction.invoke(new HashMap<>()), "{ }"); }
@Test public void invokeLocalDate() { final LocalDate localDate = LocalDate.now(); FunctionTestUtil.assertResult(codeFunction.invoke(localDate), "date( \"" + localDate.toString() + "\" )"); }
@Test public void invokeOffsetTime() { final OffsetTime offsetTime = OffsetTime.now(); FunctionTestUtil.assertResult(codeFunction.invoke(offsetTime), "time( \"" + TimeFunction.FEEL_TIME.format(offsetTime) + "\" )"); }
@Test public void invokePeriodMonths() { FunctionTestUtil.assertResult(codeFunction.invoke(Period.ofMonths(2)), "duration( \"P2M\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Period.ofMonths(27)), "duration( \"P2Y3M\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Period.ofMonths(-27)), "duration( \"-P2Y3M\" )"); }
@Test public void invokeOffsetDateTime() { final OffsetDateTime offsetDateTime = OffsetDateTime.now(); FunctionTestUtil.assertResult(codeFunction.invoke(offsetDateTime), "date and time( \"" + DateAndTimeFunction.FEEL_DATE_TIME.format(offsetDateTime) + "\" )"); }
@Test public void invokeDurationHours() { FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofHours(9)), "duration( \"PT9H\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofHours(200)), "duration( \"P8DT8H\" )"); FunctionTestUtil.assertResult(codeFunction.invoke(Duration.ofHours(-200)), "duration( \"-P8DT8H\" )"); }
@Test public void invokeLocalTime() { final LocalTime localTime = LocalTime.now(); FunctionTestUtil.assertResult(codeFunction.invoke(localTime), "time( \"" + TimeFunction.FEEL_TIME.format(localTime) + "\" )"); }
@Test public void invokeRangeOpenOpen() { FunctionTestUtil.assertResult( codeFunction.invoke(new RangeImpl(Range.RangeBoundary.OPEN, 12, 15, Range.RangeBoundary.OPEN)), "( 12 .. 15 )"); }
@Test public void invokeRangeClosedClosed() { FunctionTestUtil.assertResult( codeFunction.invoke(new RangeImpl(Range.RangeBoundary.CLOSED, 12, 15, Range.RangeBoundary.CLOSED)), "[ 12 .. 15 ]"); }
@Test public void invokeRangeOpenClosed() { FunctionTestUtil.assertResult( codeFunction.invoke(new RangeImpl(Range.RangeBoundary.OPEN, 12, 15, Range.RangeBoundary.CLOSED)), "( 12 .. 15 ]"); }
@Test public void invokeRangeClosedOpen() { FunctionTestUtil.assertResult( codeFunction.invoke(new RangeImpl(Range.RangeBoundary.CLOSED, 12, 15, Range.RangeBoundary.OPEN)), "[ 12 .. 15 )"); }