Skip to content

Commit 48fa561

Browse files
committed
LogicalPlan testing
Signed-off-by: James Duong <[email protected]>
1 parent e1d940c commit 48fa561

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

core/src/main/java/org/opensearch/sql/planner/logical/LogicalPlanDSL.java

+6
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.opensearch.sql.ast.expression.Literal;
1616
import org.opensearch.sql.ast.tree.RareTopN.CommandType;
1717
import org.opensearch.sql.ast.tree.Sort.SortOption;
18+
import org.opensearch.sql.ast.tree.Trendline;
1819
import org.opensearch.sql.expression.Expression;
1920
import org.opensearch.sql.expression.LiteralExpression;
2021
import org.opensearch.sql.expression.NamedExpression;
@@ -130,6 +131,11 @@ public static LogicalPlan rareTopN(
130131
return new LogicalRareTopN(input, commandType, noOfResults, Arrays.asList(fields), groupByList);
131132
}
132133

134+
public static LogicalTrendline trendline(
135+
LogicalPlan input, Trendline.TrendlineComputation... computations) {
136+
return new LogicalTrendline(input, Arrays.asList(computations));
137+
}
138+
133139
@SafeVarargs
134140
public LogicalPlan values(List<LiteralExpression>... values) {
135141
return new LogicalValues(Arrays.asList(values));

core/src/test/java/org/opensearch/sql/analysis/AnalyzerTest.java

+14
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.opensearch.sql.ast.dsl.AstDSL.argument;
1919
import static org.opensearch.sql.ast.dsl.AstDSL.booleanLiteral;
2020
import static org.opensearch.sql.ast.dsl.AstDSL.compare;
21+
import static org.opensearch.sql.ast.dsl.AstDSL.computation;
2122
import static org.opensearch.sql.ast.dsl.AstDSL.field;
2223
import static org.opensearch.sql.ast.dsl.AstDSL.filter;
2324
import static org.opensearch.sql.ast.dsl.AstDSL.filteredAggregate;
@@ -1437,6 +1438,19 @@ public void kmeanns_relation() {
14371438
new Kmeans(AstDSL.relation("schema"), argumentMap));
14381439
}
14391440

1441+
@Test
1442+
public void trendline() {
1443+
assertAnalyzeEqual(
1444+
LogicalPlanDSL.trendline(
1445+
LogicalPlanDSL.relation("schema", table),
1446+
computation(5, field("float_value"), "test_field_alias", "sma"),
1447+
computation(1, field("double_value"), "test_field_alias_2", "sma")),
1448+
AstDSL.trendline(
1449+
AstDSL.relation("schema"),
1450+
computation(5, field("float_value"), "test_field_alias", "sma"),
1451+
computation(1, field("double_value"), "test_field_alias_2", "sma")));
1452+
}
1453+
14401454
@Test
14411455
public void ad_batchRCF_relation() {
14421456
Map<String, Literal> argumentMap =

core/src/test/java/org/opensearch/sql/planner/logical/LogicalPlanNodeVisitorTest.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.junit.jupiter.params.ParameterizedTest;
2626
import org.junit.jupiter.params.provider.Arguments;
2727
import org.junit.jupiter.params.provider.MethodSource;
28+
import org.opensearch.sql.ast.dsl.AstDSL;
2829
import org.opensearch.sql.ast.tree.RareTopN.CommandType;
2930
import org.opensearch.sql.ast.tree.Sort.SortOption;
3031
import org.opensearch.sql.data.model.ExprValueUtils;
@@ -141,6 +142,12 @@ public TableWriteOperator build(PhysicalPlan child) {
141142

142143
LogicalCloseCursor closeCursor = new LogicalCloseCursor(cursor);
143144

145+
LogicalTrendline trendline =
146+
new LogicalTrendline(
147+
relation,
148+
Collections.singletonList(
149+
AstDSL.computation(1, AstDSL.field("testField"), "dummy", "sma")));
150+
144151
return Stream.of(
145152
relation,
146153
tableScanBuilder,
@@ -163,7 +170,8 @@ public TableWriteOperator build(PhysicalPlan child) {
163170
paginate,
164171
nested,
165172
cursor,
166-
closeCursor)
173+
closeCursor,
174+
trendline)
167175
.map(Arguments::of);
168176
}
169177

ppl/src/test/java/org/opensearch/sql/ppl/parser/AstBuilderTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ public void testTrendline() {
670670
trendline(
671671
relation("t"),
672672
computation(5, field("test_field"), "test_field_alias", "sma"),
673-
computation(1, field("test_field)2"), "test_field_alias_2", "sma")));
673+
computation(1, field("test_field_2"), "test_field_alias_2", "sma")));
674674
}
675675

676676
@Test

0 commit comments

Comments
 (0)