Skip to content

Commit

Permalink
Added Tests for Month_Of_Year Function
Browse files Browse the repository at this point in the history
Signed-off-by: GabeFernandez310 <gabrielf@bitquilltech.com>
  • Loading branch information
GabeFernandez310 committed Jan 4, 2023
1 parent c664af7 commit dcbe2e2
Showing 1 changed file with 86 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,47 @@ public void dayOfYear() {
assertEquals(integerValue(220), eval(expression));
}

private static Stream<Arguments> getTestDataForDayOfYear() {
return Stream.of(
Arguments.of(DSL.literal(
new ExprDateValue("2020-08-07")),
"day_of_year(DATE '2020-08-07')",
220),
Arguments.of(DSL.literal(
new ExprDatetimeValue("2020-08-07 12:23:34")),
"day_of_year(DATETIME '2020-08-07 12:23:34')",
220),
Arguments.of(DSL.literal(
new ExprTimestampValue("2020-08-07 12:23:34")),
"day_of_year(TIMESTAMP '2020-08-07 12:23:34')",
220),
Arguments.of(DSL.literal(
"2020-08-07"),
"day_of_year(\"2020-08-07\")",
220),
Arguments.of(DSL.literal(
"2020-08-07 01:02:03"),
"day_of_year(\"2020-08-07 01:02:03\")",
220)
);
}

@ParameterizedTest(name = "{0}")
@MethodSource("getTestDataForDayOfYear")
public void dayOfYearWithUnderscores(
LiteralExpression arg,
String expectedString,
int expectedResult) {
lenient().when(nullRef.valueOf(env)).thenReturn(nullValue());
lenient().when(missingRef.valueOf(env)).thenReturn(missingValue());

validateStringFormat(
DSL.day_of_year(functionProperties, arg),
expectedString,
expectedResult
);
}

@Test
public void testDayOfYearWithTimeType() {
lenient().when(nullRef.valueOf(env)).thenReturn(nullValue());
Expand Down Expand Up @@ -601,7 +642,7 @@ public void invalidDayOfYearArgument() {
() -> assertThrows(
SemanticCheckException.class,
() -> invalidDayOfYearQuery("2019-13-15")),

//incorrect format for type
() -> assertThrows(
SemanticCheckException.class,
Expand Down Expand Up @@ -755,6 +796,43 @@ public void month() {
assertEquals(integerValue(8), eval(expression));
}

private static Stream<Arguments> getTestDataForMonthOfYear() {
return Stream.of(
Arguments.of(
DSL.literal(new ExprDateValue("2020-08-07")),
"month_of_year(DATE '2020-08-07')",
8),
Arguments.of(
DSL.literal(new ExprDatetimeValue("2020-08-07 12:23:34")),
"month_of_year(DATETIME '2020-08-07 12:23:34')",
8),
Arguments.of(
DSL.literal(new ExprTimestampValue("2020-08-07 12:23:34")),
"month_of_year(TIMESTAMP '2020-08-07 12:23:34')",
8),
Arguments.of(
DSL.literal("2020-08-07"),
"month_of_year(\"2020-08-07\")",
8),
Arguments.of(
DSL.literal("2020-08-07 01:02:03"),
"month_of_year(\"2020-08-07 01:02:03\")",
8)
);
}
@ParameterizedTest(name = "{0}")
@MethodSource("getTestDataForMonthOfYear")
public void monthOfYear(LiteralExpression arg, String expectedString, int expectedResult) {
lenient().when(nullRef.valueOf(env)).thenReturn(nullValue());
lenient().when(missingRef.valueOf(env)).thenReturn(missingValue());

validateStringFormat(
DSL.month_of_year(functionProperties, arg),
expectedString,
expectedResult
);
}

@Test
public void testMonthOfYearWithTimeType() {
lenient().when(nullRef.valueOf(env)).thenReturn(nullValue());
Expand Down Expand Up @@ -1155,6 +1233,12 @@ private void validateStringFormat(

private static Stream<Arguments> getTestDataForWeekFormats() {
return Stream.of(
Arguments.of(DSL.literal(new ExprDateValue("2019-01-05")),
"DATE '2019-01-05'",
0),
Arguments.of(DSL.literal(new ExprDatetimeValue("2019-01-05 01:02:03")),
"DATETIME '2019-01-05 01:02:03'",
0),
Arguments.of(DSL.literal(new ExprTimestampValue("2019-01-05 01:02:03")),
"TIMESTAMP '2019-01-05 01:02:03'",
0),
Expand All @@ -1169,7 +1253,7 @@ private static Stream<Arguments> getTestDataForWeekFormats() {
);
}

@ParameterizedTest(name = "{1}{2}")
@ParameterizedTest(name = "{0}")
@MethodSource("getTestDataForWeekFormats")
public void testWeekFormats(
LiteralExpression arg,
Expand Down

0 comments on commit dcbe2e2

Please sign in to comment.