View Javadoc
1   /*
2    *    Copyright 2016-2025 the original author or authors.
3    *
4    *    Licensed under the Apache License, Version 2.0 (the "License");
5    *    you may not use this file except in compliance with the License.
6    *    You may obtain a copy of the License at
7    *
8    *       https://www.apache.org/licenses/LICENSE-2.0
9    *
10   *    Unless required by applicable law or agreed to in writing, software
11   *    distributed under the License is distributed on an "AS IS" BASIS,
12   *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *    See the License for the specific language governing permissions and
14   *    limitations under the License.
15   */
16  package org.mybatis.dynamic.sql.util;
17  
18  import static org.assertj.core.api.Assertions.assertThat;
19  import static org.assertj.core.api.Assertions.entry;
20  
21  import java.util.stream.Collectors;
22  
23  import org.junit.jupiter.api.Test;
24  
25  class FragmentCollectorTest {
26  
27      @Test
28      void testWhereFragmentCollectorMerge() {
29          FragmentCollector fc1 = new FragmentCollector();
30          FragmentAndParameters fp1 = FragmentAndParameters.withFragment(":p1")
31                  .withParameter("p1", 1)
32                  .build();
33          fc1.add(fp1);
34  
35          FragmentCollector fc2 = new FragmentCollector();
36          FragmentAndParameters fp2 = FragmentAndParameters.withFragment(":p2")
37                  .withParameter("p2", 2)
38                  .build();
39          fc2.add(fp2);
40  
41          fc1.merge(fc2);
42  
43          assertThat(fc1.collectFragments(Collectors.joining(","))).isEqualTo(":p1,:p2");
44          assertThat(fc1.parameters()).containsExactly(entry("p1", 1), entry("p2", 2));
45      }
46  }