Skip to content

Commit 5e9eab3

Browse files
committed
Coverage
1 parent d9174a1 commit 5e9eab3

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/test/java/org/mybatis/dynamic/sql/insert/InsertStatementTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import org.mybatis.dynamic.sql.SqlColumn;
2929
import org.mybatis.dynamic.sql.SqlTable;
3030
import org.mybatis.dynamic.sql.insert.render.FieldAndValue;
31+
import org.mybatis.dynamic.sql.insert.render.FieldAndValueAndParameters;
32+
import org.mybatis.dynamic.sql.insert.render.FieldAndValueAndParametersCollector;
3133
import org.mybatis.dynamic.sql.insert.render.FieldAndValueCollector;
3234
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
3335
import org.mybatis.dynamic.sql.render.RenderingStrategies;
@@ -152,6 +154,40 @@ private FieldAndValue newFieldAndValue(String fieldName, String valuePhrase) {
152154
.build();
153155
}
154156

157+
@Test
158+
public void testParallelStreamWithParameters() {
159+
160+
List<FieldAndValueAndParameters> mappings = new ArrayList<>();
161+
162+
mappings.add(newFieldAndValueAndParameter(id.name(), "{p1}", "p1", 1));
163+
mappings.add(newFieldAndValueAndParameter(firstName.name(), "{p2}", "p2", "Fred"));
164+
mappings.add(newFieldAndValueAndParameter(lastName.name(), "{p3}", "p3", "Flintstone"));
165+
mappings.add(newFieldAndValueAndParameter(occupation.name(), "{p4}", "p4", "Driver"));
166+
167+
FieldAndValueAndParametersCollector collector =
168+
mappings.parallelStream().collect(Collector.of(
169+
FieldAndValueAndParametersCollector::new,
170+
FieldAndValueAndParametersCollector::add,
171+
FieldAndValueAndParametersCollector::merge));
172+
173+
String expectedColumnsPhrase = "(id, first_name, last_name, occupation)";
174+
String expectedValuesPhrase = "values ({p1}, {p2}, {p3}, {p4})";
175+
176+
assertAll(
177+
() -> assertThat(collector.columnsPhrase()).isEqualTo(expectedColumnsPhrase),
178+
() -> assertThat(collector.valuesPhrase()).isEqualTo(expectedValuesPhrase),
179+
() -> assertThat(collector.parameters().size()).isEqualTo(4)
180+
);
181+
}
182+
183+
private FieldAndValueAndParameters newFieldAndValueAndParameter(String fieldName, String valuePhrase, String parameterName,
184+
Object parameterValue) {
185+
return FieldAndValueAndParameters.withFieldName(fieldName)
186+
.withValuePhrase(valuePhrase)
187+
.withParameter(parameterName, parameterValue)
188+
.build();
189+
}
190+
155191
@Test
156192
public void testParallelStreamForMultiRecord() {
157193

0 commit comments

Comments
 (0)