1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.filters;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23
24 import org.junit.jupiter.api.Test;
25
26 import nl.jqno.equalsverifier.EqualsVerifier;
27 import nl.jqno.equalsverifier.EqualsVerifierReport;
28
29 public class CsvFilterElementTest {
30
31 @Test
32 public void testDecideSingle() {
33 final IntFilterElement filter = new CsvFilterElement("0");
34 assertWithMessage("less than")
35 .that(filter.accept(-1))
36 .isFalse();
37 assertWithMessage("equal")
38 .that(filter.accept(0))
39 .isTrue();
40 assertWithMessage("greater than")
41 .that(filter.accept(1))
42 .isFalse();
43 }
44
45 @Test
46 public void testDecidePair() {
47 final IntFilterElement filter = new CsvFilterElement("0, 2");
48 assertWithMessage("less than")
49 .that(filter.accept(-1))
50 .isFalse();
51 assertWithMessage("equal 0")
52 .that(filter.accept(0))
53 .isTrue();
54 assertWithMessage("greater than")
55 .that(filter.accept(1))
56 .isFalse();
57 assertWithMessage("equal 2")
58 .that(filter.accept(2))
59 .isTrue();
60 }
61
62 @Test
63 public void testDecideRange() {
64 final IntFilterElement filter = new CsvFilterElement("0-2");
65 assertWithMessage("less than")
66 .that(filter.accept(-1))
67 .isFalse();
68 assertWithMessage("equal 0")
69 .that(filter.accept(0))
70 .isTrue();
71 assertWithMessage("equal 1")
72 .that(filter.accept(1))
73 .isTrue();
74 assertWithMessage("equal 2")
75 .that(filter.accept(2))
76 .isTrue();
77 assertWithMessage("greater than")
78 .that(filter.accept(3))
79 .isFalse();
80 }
81
82 @Test
83 public void testDecideEmptyRange() {
84 final IntFilterElement filter = new CsvFilterElement("2-0");
85 assertWithMessage("less than")
86 .that(filter.accept(-1))
87 .isFalse();
88 assertWithMessage("equal 0")
89 .that(filter.accept(0))
90 .isFalse();
91 assertWithMessage("equal 1")
92 .that(filter.accept(1))
93 .isFalse();
94 assertWithMessage("equal 2")
95 .that(filter.accept(2))
96 .isFalse();
97 assertWithMessage("greater than")
98 .that(filter.accept(3))
99 .isFalse();
100 }
101
102 @Test
103 public void testDecideRangePlusValue() {
104 final IntFilterElement filter = new CsvFilterElement("0-2, 10");
105 assertWithMessage("less than")
106 .that(filter.accept(-1))
107 .isFalse();
108 assertWithMessage("equal 0")
109 .that(filter.accept(0))
110 .isTrue();
111 assertWithMessage("equal 1")
112 .that(filter.accept(1))
113 .isTrue();
114 assertWithMessage("equal 2")
115 .that(filter.accept(2))
116 .isTrue();
117 assertWithMessage("greater than")
118 .that(filter.accept(3))
119 .isFalse();
120 assertWithMessage("equal 10")
121 .that(filter.accept(10))
122 .isTrue();
123 }
124
125 @Test
126 public void testEmptyChain() {
127 final CsvFilterElement filter = new CsvFilterElement("");
128 assertWithMessage("0")
129 .that(filter.accept(0))
130 .isFalse();
131 }
132
133 @Test
134 public void testEqualsAndHashCode() {
135 final EqualsVerifierReport ev = EqualsVerifier.forClass(CsvFilterElement.class)
136 .usingGetClass().report();
137 assertWithMessage("Error: " + ev.getMessage())
138 .that(ev.isSuccessful())
139 .isTrue();
140 }
141
142 }