Skip to content

Commit 76f197f

Browse files
committed
修复ClooectionString not contain any 的bug
1 parent 293d569 commit 76f197f

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/decision/compare/CollectionStringNotContainAnyComparator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ public boolean test(Collection<String> src, Collection<String> another) {
1717
}
1818

1919
for (String v : another) {
20-
if (!src.contains(v)) {
21-
return true;
20+
if (src.contains(v)) {
21+
return false;
2222
}
2323
}
24-
return false;
24+
return true;
2525
}
2626
}

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/decision/compare/CompareMode.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public enum CompareMode {
2121

2222
/**
2323
* 至少不包含其中一个
24+
* 与 NOT_CONTAINS_ALL 一样
2425
*/
2526
NOT_CONTAINS_ANY
2627
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package cn.springcloud.gray.decision.compare;
2+
3+
import org.junit.Assert;
4+
import org.junit.Test;
5+
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
9+
public class ComparatorsTest {
10+
11+
@Test
12+
public void test(){
13+
14+
List<String> list1 = new ArrayList<>();
15+
list1.add("4.12.0");
16+
list1.add("4.13.0");
17+
List<String> list2 = new ArrayList<>();
18+
list1.add("4.13.0");
19+
list1.add("4.11.0");
20+
boolean res = Comparators.getCollectionStringComparator(CompareMode.NOT_CONTAINS_ALL)
21+
.test(list1, list2);
22+
Assert.assertTrue(!res);
23+
24+
25+
List<String> lista1 = new ArrayList<>();
26+
lista1.add("4.12.0");
27+
lista1.add("4.13.0");
28+
List<String> lista2 = new ArrayList<>();
29+
lista2.add("4.10.0");
30+
lista2.add("4.11.0");
31+
boolean res1 = Comparators.getCollectionStringComparator(CompareMode.NOT_CONTAINS_ALL)
32+
.test(lista1, lista2);
33+
Assert.assertTrue(res1);
34+
35+
36+
37+
List<String> listb1 = new ArrayList<>();
38+
listb1.add("4.12.0");
39+
listb1.add("4.13.0");
40+
List<String> listb2 = new ArrayList<>();
41+
listb2.add("4.11.0");
42+
listb2.add("4.13.0");
43+
boolean resb = Comparators.getCollectionStringComparator(CompareMode.NOT_CONTAINS_ANY)
44+
.test(listb1, listb2);
45+
Assert.assertTrue(!resb);
46+
47+
List<String> listc1 = new ArrayList<>();
48+
listc1.add("4.12.0");
49+
listc1.add("4.13.0");
50+
List<String> listc2 = new ArrayList<>();
51+
listc2.add("4.11.0");
52+
listb2.add("4.12.0");
53+
boolean resc = Comparators.getCollectionStringComparator(CompareMode.NOT_CONTAINS_ANY)
54+
.test(listc1, listc2);
55+
Assert.assertTrue(resc);
56+
}
57+
}

0 commit comments

Comments
 (0)