2 * This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
3 * directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
4 * including this file, may be copied, modified, propagated, or distributed except according to the terms contained
8 package wtf
.metio
.yosql
.models
.immutables
;
10 import org
.junit
.jupiter
.api
.Assertions
;
11 import org
.junit
.jupiter
.api
.DisplayName
;
12 import org
.junit
.jupiter
.api
.Test
;
13 import wtf
.metio
.yosql
.models
.configuration
.*;
15 import java
.util
.List
;
17 @DisplayName("SqlConfiguration")
18 class SqlConfigurationTest
{
21 void fromStatements() {
22 // TODO: write test that ensures that the name of a SqlStatement is transferred to its SqlConfiguration(s)
26 void mergeRepositoryFirst() {
27 final var first
= SqlConfiguration
.usingDefaults()
28 .setRepository("com.example.Repository")
30 final var second
= SqlConfiguration
.usingDefaults().build();
32 final var merged
= SqlConfiguration
.merge(first
, second
);
34 Assertions
.assertEquals(first
.repository(), merged
.repository());
38 void mergeRepositorySecond() {
39 final var first
= SqlConfiguration
.usingDefaults().build();
40 final var second
= SqlConfiguration
.usingDefaults()
41 .setRepository("com.example.Repository")
44 final var merged
= SqlConfiguration
.merge(first
, second
);
46 Assertions
.assertEquals(second
.repository(), merged
.repository());
50 void mergeRepositoryMissing() {
51 final var first
= SqlConfiguration
.usingDefaults().build();
52 final var second
= SqlConfiguration
.usingDefaults().build();
54 final var merged
= SqlConfiguration
.merge(first
, second
);
56 Assertions
.assertTrue(merged
.repository().isEmpty());
60 void mergeRepositoryInterfaceFirst() {
61 final var first
= SqlConfiguration
.usingDefaults()
62 .setRepositoryInterface("com.example.Repository")
64 final var second
= SqlConfiguration
.usingDefaults().build();
66 final var merged
= SqlConfiguration
.merge(first
, second
);
68 Assertions
.assertEquals(first
.repositoryInterface(), merged
.repositoryInterface());
72 void mergeRepositoryInterfaceSecond() {
73 final var first
= SqlConfiguration
.usingDefaults().build();
74 final var second
= SqlConfiguration
.usingDefaults()
75 .setRepositoryInterface("com.example.Repository")
78 final var merged
= SqlConfiguration
.merge(first
, second
);
80 Assertions
.assertEquals(second
.repositoryInterface(), merged
.repositoryInterface());
84 void mergeRepositoryInterfaceMissing() {
85 final var first
= SqlConfiguration
.usingDefaults().build();
86 final var second
= SqlConfiguration
.usingDefaults().build();
88 final var merged
= SqlConfiguration
.merge(first
, second
);
90 Assertions
.assertTrue(merged
.repositoryInterface().isEmpty());
94 void mergeNameFirst() {
95 final var first
= SqlConfiguration
.usingDefaults()
98 final var second
= SqlConfiguration
.usingDefaults().build();
100 final var merged
= SqlConfiguration
.merge(first
, second
);
102 Assertions
.assertEquals(first
.name(), merged
.name());
106 void mergeNameSecond() {
107 final var first
= SqlConfiguration
.usingDefaults().build();
108 final var second
= SqlConfiguration
.usingDefaults()
112 final var merged
= SqlConfiguration
.merge(first
, second
);
114 Assertions
.assertEquals(second
.name(), merged
.name());
118 void mergeNameMissing() {
119 final var first
= SqlConfiguration
.usingDefaults().build();
120 final var second
= SqlConfiguration
.usingDefaults().build();
122 final var merged
= SqlConfiguration
.merge(first
, second
);
124 Assertions
.assertTrue(merged
.name().isEmpty());
128 void mergeDescriptionFirst() {
129 final var first
= SqlConfiguration
.usingDefaults()
130 .setDescription("some description")
132 final var second
= SqlConfiguration
.usingDefaults().build();
134 final var merged
= SqlConfiguration
.merge(first
, second
);
136 Assertions
.assertEquals(first
.description(), merged
.description());
140 void mergeDescriptionSecond() {
141 final var first
= SqlConfiguration
.usingDefaults().build();
142 final var second
= SqlConfiguration
.usingDefaults()
143 .setDescription("some description")
146 final var merged
= SqlConfiguration
.merge(first
, second
);
148 Assertions
.assertEquals(second
.description(), merged
.description());
152 void mergeDescriptionMissing() {
153 final var first
= SqlConfiguration
.usingDefaults().build();
154 final var second
= SqlConfiguration
.usingDefaults().build();
156 final var merged
= SqlConfiguration
.merge(first
, second
);
158 Assertions
.assertTrue(merged
.description().isEmpty());
162 void mergeVendorFirst() {
163 final var first
= SqlConfiguration
.usingDefaults()
164 .setVendor("H2 Database")
166 final var second
= SqlConfiguration
.usingDefaults().build();
168 final var merged
= SqlConfiguration
.merge(first
, second
);
170 Assertions
.assertEquals(first
.vendor(), merged
.vendor());
174 void mergeVendorSecond() {
175 final var first
= SqlConfiguration
.usingDefaults().build();
176 final var second
= SqlConfiguration
.usingDefaults()
177 .setVendor("H2 Database")
180 final var merged
= SqlConfiguration
.merge(first
, second
);
182 Assertions
.assertEquals(second
.vendor(), merged
.vendor());
186 void mergeVendorMissing() {
187 final var first
= SqlConfiguration
.usingDefaults().build();
188 final var second
= SqlConfiguration
.usingDefaults().build();
190 final var merged
= SqlConfiguration
.merge(first
, second
);
192 Assertions
.assertTrue(merged
.vendor().isEmpty());
196 void mergeTypeFirst() {
197 final var first
= SqlConfiguration
.usingDefaults()
198 .setType(SqlStatementType
.READING
)
200 final var second
= SqlConfiguration
.usingDefaults().build();
202 final var merged
= SqlConfiguration
.merge(first
, second
);
204 Assertions
.assertEquals(first
.type(), merged
.type());
208 void mergeTypeSecond() {
209 final var first
= SqlConfiguration
.usingDefaults().build();
210 final var second
= SqlConfiguration
.usingDefaults()
211 .setType(SqlStatementType
.READING
)
214 final var merged
= SqlConfiguration
.merge(first
, second
);
216 Assertions
.assertEquals(second
.type(), merged
.type());
220 void mergeTypeMissing() {
221 final var first
= SqlConfiguration
.usingDefaults().build();
222 final var second
= SqlConfiguration
.usingDefaults().build();
224 final var merged
= SqlConfiguration
.merge(first
, second
);
226 Assertions
.assertTrue(merged
.type().isEmpty());
230 void mergeReturningModeFirst() {
231 final var first
= SqlConfiguration
.usingDefaults()
232 .setReturningMode(ReturningMode
.SINGLE
)
234 final var second
= SqlConfiguration
.usingDefaults().build();
236 final var merged
= SqlConfiguration
.merge(first
, second
);
238 Assertions
.assertEquals(first
.returningMode(), merged
.returningMode());
242 void mergeReturningModeSecond() {
243 final var first
= SqlConfiguration
.usingDefaults().build();
244 final var second
= SqlConfiguration
.usingDefaults()
245 .setReturningMode(ReturningMode
.SINGLE
)
248 final var merged
= SqlConfiguration
.merge(first
, second
);
250 Assertions
.assertEquals(second
.returningMode(), merged
.returningMode());
254 void mergeReturningModeMissing() {
255 final var first
= SqlConfiguration
.usingDefaults().build();
256 final var second
= SqlConfiguration
.usingDefaults().build();
258 final var merged
= SqlConfiguration
.merge(first
, second
);
260 Assertions
.assertTrue(merged
.returningMode().isEmpty());
264 void mergeStandardPrefixFirst() {
265 final var first
= SqlConfiguration
.usingDefaults()
266 .setStandardPrefix("prefix")
268 final var second
= SqlConfiguration
.usingDefaults().build();
270 final var merged
= SqlConfiguration
.merge(first
, second
);
272 Assertions
.assertEquals(first
.standardPrefix(), merged
.standardPrefix());
276 void mergeStandardPrefixSecond() {
277 final var first
= SqlConfiguration
.usingDefaults().build();
278 final var second
= SqlConfiguration
.usingDefaults()
279 .setStandardPrefix("prefix")
282 final var merged
= SqlConfiguration
.merge(first
, second
);
284 Assertions
.assertEquals(second
.standardPrefix(), merged
.standardPrefix());
288 void mergeStandardPrefixMissing() {
289 final var first
= SqlConfiguration
.usingDefaults().build();
290 final var second
= SqlConfiguration
.usingDefaults().build();
292 final var merged
= SqlConfiguration
.merge(first
, second
);
294 Assertions
.assertTrue(merged
.standardPrefix().isEmpty());
298 void mergeStandardSuffixFirst() {
299 final var first
= SqlConfiguration
.usingDefaults()
300 .setStandardSuffix("suffix")
302 final var second
= SqlConfiguration
.usingDefaults().build();
304 final var merged
= SqlConfiguration
.merge(first
, second
);
306 Assertions
.assertEquals(first
.standardSuffix(), merged
.standardSuffix());
310 void mergeStandardSuffixSecond() {
311 final var first
= SqlConfiguration
.usingDefaults().build();
312 final var second
= SqlConfiguration
.usingDefaults()
313 .setStandardSuffix("suffix")
316 final var merged
= SqlConfiguration
.merge(first
, second
);
318 Assertions
.assertEquals(second
.standardSuffix(), merged
.standardSuffix());
322 void mergeStandardSuffixMissing() {
323 final var first
= SqlConfiguration
.usingDefaults().build();
324 final var second
= SqlConfiguration
.usingDefaults().build();
326 final var merged
= SqlConfiguration
.merge(first
, second
);
328 Assertions
.assertTrue(merged
.standardSuffix().isEmpty());
332 void mergeBatchPrefixFirst() {
333 final var first
= SqlConfiguration
.usingDefaults()
334 .setBatchPrefix("prefix")
336 final var second
= SqlConfiguration
.usingDefaults().build();
338 final var merged
= SqlConfiguration
.merge(first
, second
);
340 Assertions
.assertEquals(first
.batchPrefix(), merged
.batchPrefix());
344 void mergeBatchPrefixSecond() {
345 final var first
= SqlConfiguration
.usingDefaults().build();
346 final var second
= SqlConfiguration
.usingDefaults()
347 .setBatchPrefix("prefix")
350 final var merged
= SqlConfiguration
.merge(first
, second
);
352 Assertions
.assertEquals(second
.batchPrefix(), merged
.batchPrefix());
356 void mergeBatchPrefixMissing() {
357 final var first
= SqlConfiguration
.usingDefaults().build();
358 final var second
= SqlConfiguration
.usingDefaults().build();
360 final var merged
= SqlConfiguration
.merge(first
, second
);
362 Assertions
.assertTrue(merged
.batchPrefix().isEmpty());
366 void mergeBatchSuffixFirst() {
367 final var first
= SqlConfiguration
.usingDefaults()
368 .setBatchSuffix("suffix")
370 final var second
= SqlConfiguration
.usingDefaults().build();
372 final var merged
= SqlConfiguration
.merge(first
, second
);
374 Assertions
.assertEquals(first
.batchSuffix(), merged
.batchSuffix());
378 void mergeBatchSuffixSecond() {
379 final var first
= SqlConfiguration
.usingDefaults().build();
380 final var second
= SqlConfiguration
.usingDefaults()
381 .setBatchSuffix("suffix")
384 final var merged
= SqlConfiguration
.merge(first
, second
);
386 Assertions
.assertEquals(second
.batchSuffix(), merged
.batchSuffix());
390 void mergeBatchSuffixMissing() {
391 final var first
= SqlConfiguration
.usingDefaults().build();
392 final var second
= SqlConfiguration
.usingDefaults().build();
394 final var merged
= SqlConfiguration
.merge(first
, second
);
396 Assertions
.assertTrue(merged
.batchSuffix().isEmpty());
400 void mergeGenerateStandardApiFirst() {
401 final var first
= SqlConfiguration
.usingDefaults()
402 .setGenerateStandardApi(true)
404 final var second
= SqlConfiguration
.usingDefaults().build();
406 final var merged
= SqlConfiguration
.merge(first
, second
);
408 Assertions
.assertEquals(first
.generateStandardApi(), merged
.generateStandardApi());
412 void mergeGenerateStandardApiSecond() {
413 final var first
= SqlConfiguration
.usingDefaults().build();
414 final var second
= SqlConfiguration
.usingDefaults()
415 .setGenerateStandardApi(true)
418 final var merged
= SqlConfiguration
.merge(first
, second
);
420 Assertions
.assertEquals(second
.generateStandardApi(), merged
.generateStandardApi());
424 void mergeGenerateStandardApiMissing() {
425 final var first
= SqlConfiguration
.usingDefaults().build();
426 final var second
= SqlConfiguration
.usingDefaults().build();
428 final var merged
= SqlConfiguration
.merge(first
, second
);
430 Assertions
.assertTrue(merged
.generateStandardApi().isEmpty());
434 void mergeGenerateBatchApiFirst() {
435 final var first
= SqlConfiguration
.usingDefaults()
436 .setGenerateBatchApi(true)
438 final var second
= SqlConfiguration
.usingDefaults().build();
440 final var merged
= SqlConfiguration
.merge(first
, second
);
442 Assertions
.assertEquals(first
.generateBatchApi(), merged
.generateBatchApi());
446 void mergeGenerateBatchApiSecond() {
447 final var first
= SqlConfiguration
.usingDefaults().build();
448 final var second
= SqlConfiguration
.usingDefaults()
449 .setGenerateBatchApi(true)
452 final var merged
= SqlConfiguration
.merge(first
, second
);
454 Assertions
.assertEquals(second
.generateBatchApi(), merged
.generateBatchApi());
458 void mergeGenerateBatchApiMissing() {
459 final var first
= SqlConfiguration
.usingDefaults().build();
460 final var second
= SqlConfiguration
.usingDefaults().build();
462 final var merged
= SqlConfiguration
.merge(first
, second
);
464 Assertions
.assertTrue(merged
.generateStandardApi().isEmpty());
468 void mergeUsePreparedStatementFirst() {
469 final var first
= SqlConfiguration
.usingDefaults()
470 .setUsePreparedStatement(true)
472 final var second
= SqlConfiguration
.usingDefaults().build();
474 final var merged
= SqlConfiguration
.merge(first
, second
);
476 Assertions
.assertEquals(first
.usePreparedStatement(), merged
.usePreparedStatement());
480 void mergeUsePreparedStatementSecond() {
481 final var first
= SqlConfiguration
.usingDefaults().build();
482 final var second
= SqlConfiguration
.usingDefaults()
483 .setUsePreparedStatement(true)
486 final var merged
= SqlConfiguration
.merge(first
, second
);
488 Assertions
.assertEquals(second
.usePreparedStatement(), merged
.usePreparedStatement());
492 void mergeUsePreparedStatementMissing() {
493 final var first
= SqlConfiguration
.usingDefaults().build();
494 final var second
= SqlConfiguration
.usingDefaults().build();
496 final var merged
= SqlConfiguration
.merge(first
, second
);
498 Assertions
.assertTrue(merged
.usePreparedStatement().isEmpty());
502 void mergeCatchAndRethrowFirst() {
503 final var first
= SqlConfiguration
.usingDefaults()
504 .setCatchAndRethrow(true)
506 final var second
= SqlConfiguration
.usingDefaults().build();
508 final var merged
= SqlConfiguration
.merge(first
, second
);
510 Assertions
.assertEquals(first
.catchAndRethrow(), merged
.catchAndRethrow());
514 void mergeCatchAndRethrowSecond() {
515 final var first
= SqlConfiguration
.usingDefaults().build();
516 final var second
= SqlConfiguration
.usingDefaults()
517 .setCatchAndRethrow(true)
520 final var merged
= SqlConfiguration
.merge(first
, second
);
522 Assertions
.assertEquals(second
.catchAndRethrow(), merged
.catchAndRethrow());
526 void mergeCatchAndRethrowMissing() {
527 final var first
= SqlConfiguration
.usingDefaults().build();
528 final var second
= SqlConfiguration
.usingDefaults().build();
530 final var merged
= SqlConfiguration
.merge(first
, second
);
532 Assertions
.assertTrue(merged
.catchAndRethrow().isEmpty());
536 void mergeThrowOnMultipleResultsForSingleFirst() {
537 final var first
= SqlConfiguration
.usingDefaults()
538 .setThrowOnMultipleResultsForSingle(true)
540 final var second
= SqlConfiguration
.usingDefaults().build();
542 final var merged
= SqlConfiguration
.merge(first
, second
);
544 Assertions
.assertEquals(first
.throwOnMultipleResultsForSingle(), merged
.throwOnMultipleResultsForSingle());
548 void mergeThrowOnMultipleResultsForSingleSecond() {
549 final var first
= SqlConfiguration
.usingDefaults().build();
550 final var second
= SqlConfiguration
.usingDefaults()
551 .setThrowOnMultipleResultsForSingle(true)
554 final var merged
= SqlConfiguration
.merge(first
, second
);
556 Assertions
.assertEquals(second
.throwOnMultipleResultsForSingle(), merged
.throwOnMultipleResultsForSingle());
560 void mergeThrowOnMultipleResultsForSingleMissing() {
561 final var first
= SqlConfiguration
.usingDefaults().build();
562 final var second
= SqlConfiguration
.usingDefaults().build();
564 final var merged
= SqlConfiguration
.merge(first
, second
);
566 Assertions
.assertTrue(merged
.throwOnMultipleResultsForSingle().isEmpty());
570 void mergeInjectConvertersFirst() {
571 final var first
= SqlConfiguration
.usingDefaults()
572 .setInjectConverters(true)
574 final var second
= SqlConfiguration
.usingDefaults().build();
576 final var merged
= SqlConfiguration
.merge(first
, second
);
578 Assertions
.assertEquals(first
.injectConverters(), merged
.injectConverters());
582 void mergeInjectConvertersSecond() {
583 final var first
= SqlConfiguration
.usingDefaults().build();
584 final var second
= SqlConfiguration
.usingDefaults()
585 .setInjectConverters(true)
588 final var merged
= SqlConfiguration
.merge(first
, second
);
590 Assertions
.assertEquals(second
.injectConverters(), merged
.injectConverters());
594 void mergeInjectConvertersMissing() {
595 final var first
= SqlConfiguration
.usingDefaults().build();
596 final var second
= SqlConfiguration
.usingDefaults().build();
598 final var merged
= SqlConfiguration
.merge(first
, second
);
600 Assertions
.assertTrue(merged
.injectConverters().isEmpty());
604 void mergeResultRowConverterFirst() {
605 final var first
= SqlConfiguration
.usingDefaults()
606 .setResultRowConverter(ResultRowConverter
.builder().build())
608 final var second
= SqlConfiguration
.usingDefaults().build();
610 final var merged
= SqlConfiguration
.merge(first
, second
);
612 Assertions
.assertEquals(first
.resultRowConverter(), merged
.resultRowConverter());
616 void mergeResultRowConverterSecond() {
617 final var first
= SqlConfiguration
.usingDefaults().build();
618 final var second
= SqlConfiguration
.usingDefaults()
619 .setResultRowConverter(ResultRowConverter
.builder().build())
622 final var merged
= SqlConfiguration
.merge(first
, second
);
624 Assertions
.assertEquals(second
.resultRowConverter(), merged
.resultRowConverter());
628 void mergeResultRowConverterMissing() {
629 final var first
= SqlConfiguration
.usingDefaults().build();
630 final var second
= SqlConfiguration
.usingDefaults().build();
632 final var merged
= SqlConfiguration
.merge(first
, second
);
634 Assertions
.assertTrue(merged
.resultRowConverter().isEmpty());
638 void mergeParametersFirst() {
639 final var first
= SqlConfiguration
.usingDefaults()
640 .setParameters(List
.of(SqlParameter
.builder().setName("first").build()))
642 final var second
= SqlConfiguration
.usingDefaults().build();
644 final var merged
= SqlConfiguration
.merge(first
, second
);
646 Assertions
.assertEquals(first
.parameters(), merged
.parameters());
650 void mergeParametersSecond() {
651 final var first
= SqlConfiguration
.usingDefaults().build();
652 final var second
= SqlConfiguration
.usingDefaults()
653 .setParameters(List
.of(SqlParameter
.builder().setName("second").build()))
656 final var merged
= SqlConfiguration
.merge(first
, second
);
658 Assertions
.assertEquals(second
.parameters(), merged
.parameters());
662 void mergeParametersMixed() {
663 final var parameters
= List
.of(
664 SqlParameter
.builder().setName("first").build(),
665 SqlParameter
.builder().setName("second").build());
666 final var first
= SqlConfiguration
.usingDefaults()
667 .setParameters(List
.of(parameters
.get(0)))
669 final var second
= SqlConfiguration
.usingDefaults()
670 .setParameters(List
.of(parameters
.get(1)))
673 final var merged
= SqlConfiguration
.merge(first
, second
);
675 Assertions
.assertEquals(parameters
, merged
.parameters());
679 void mergeParametersMixedDuplicatedFirst() {
680 final List
<SqlParameter
> parameters
= List
.of(
681 SqlParameter
.builder().setName("first").build(),
682 SqlParameter
.builder().setName("second").build());
683 final var first
= SqlConfiguration
.usingDefaults()
684 .setParameters(parameters
)
686 final var second
= SqlConfiguration
.usingDefaults()
687 .setParameters(List
.of(SqlParameter
.builder().setName("second").build()))
690 final var merged
= SqlConfiguration
.merge(first
, second
);
692 Assertions
.assertEquals(parameters
, merged
.parameters());
696 void mergeParametersMixedDuplicatedSecond() {
697 final List
<SqlParameter
> parameters
= List
.of(
698 SqlParameter
.builder().setName("first").build(),
699 SqlParameter
.builder().setName("second").build());
700 final var first
= SqlConfiguration
.usingDefaults()
701 .setParameters(List
.of(SqlParameter
.builder().setName("first").build()))
703 final var second
= SqlConfiguration
.usingDefaults()
704 .setParameters(parameters
)
707 final var merged
= SqlConfiguration
.merge(first
, second
);
709 Assertions
.assertEquals(parameters
, merged
.parameters());
713 void mergeParametersDuplicated() {
714 final var first
= SqlConfiguration
.usingDefaults()
715 .setParameters(List
.of(SqlParameter
.builder()
717 .setType("java.lang.String")
718 .setIndices(new int[]{1})
721 final var second
= SqlConfiguration
.usingDefaults()
722 .setParameters(List
.of(SqlParameter
.builder()
724 .setType("java.lang.String")
725 .setIndices(new int[]{1})
729 final var merged
= SqlConfiguration
.merge(first
, second
);
731 Assertions
.assertEquals(1, merged
.parameters().size());
732 Assertions
.assertEquals("name", merged
.parameters().get(0).name().orElse(""));
733 Assertions
.assertEquals("java.lang.String", merged
.parameters().get(0).type().orElse(""));
737 void mergeParametersDuplicatedNamesMissingTypeFirst() {
738 final var first
= SqlConfiguration
.usingDefaults()
739 .setParameters(List
.of(SqlParameter
.builder()
741 .setIndices(new int[]{1})
744 final var second
= SqlConfiguration
.usingDefaults()
745 .setParameters(List
.of(SqlParameter
.builder()
747 .setType("java.lang.String")
748 .setIndices(new int[]{1})
752 final var merged
= SqlConfiguration
.merge(first
, second
);
754 Assertions
.assertEquals(1, merged
.parameters().size());
755 Assertions
.assertEquals("name", merged
.parameters().get(0).name().orElse(""));
756 Assertions
.assertEquals("java.lang.String", merged
.parameters().get(0).type().orElse(""));
760 void mergeParametersDuplicatedNamesMissingTypeSecond() {
761 final var first
= SqlConfiguration
.usingDefaults()
762 .setParameters(List
.of(SqlParameter
.builder()
764 .setType("java.lang.String")
765 .setIndices(new int[]{1})
768 final var second
= SqlConfiguration
.usingDefaults()
769 .setParameters(List
.of(SqlParameter
.builder()
771 .setIndices(new int[]{1})
775 final var merged
= SqlConfiguration
.merge(first
, second
);
777 Assertions
.assertEquals(1, merged
.parameters().size());
778 Assertions
.assertEquals("name", merged
.parameters().get(0).name().orElse(""));
779 Assertions
.assertEquals("java.lang.String", merged
.parameters().get(0).type().orElse(""));
783 void mergeParametersMissing() {
784 final var first
= SqlConfiguration
.usingDefaults().build();
785 final var second
= SqlConfiguration
.usingDefaults().build();
787 final var merged
= SqlConfiguration
.merge(first
, second
);
789 Assertions
.assertTrue(merged
.parameters().isEmpty());
793 void mergeAnnotationsMissing() {
794 final var first
= SqlConfiguration
.usingDefaults().build();
795 final var second
= SqlConfiguration
.usingDefaults().build();
797 final var merged
= SqlConfiguration
.merge(first
, second
);
799 Assertions
.assertTrue(merged
.annotations().isEmpty());
803 void mergeAnnotationsFirst() {
804 final var first
= SqlConfiguration
.usingDefaults()
805 .setAnnotations(List
.of(Annotation
.builder().setType("com.example.MyAnnotation").build()))
807 final var second
= SqlConfiguration
.usingDefaults().build();
809 final var merged
= SqlConfiguration
.merge(first
, second
);
811 Assertions
.assertEquals(first
.annotations(), merged
.annotations());
815 void mergeAnnotationsSecond() {
816 final var first
= SqlConfiguration
.usingDefaults()
818 final var second
= SqlConfiguration
.usingDefaults()
819 .setAnnotations(List
.of(Annotation
.builder().setType("com.example.MyAnnotation").build()))
822 final var merged
= SqlConfiguration
.merge(first
, second
);
824 Assertions
.assertEquals(second
.annotations(), merged
.annotations());