16
16
import static java .util .stream .Collectors .joining ;
17
17
import static org .assertj .core .api .AssertionsForClassTypes .assertThat ;
18
18
19
+ /**
20
+ * A test class for {@link CrazyRegex}.
21
+ *
22
+ * @author Andriy Paliychuk
23
+ */
19
24
@ TestMethodOrder (MethodOrderer .OrderAnnotation .class )
20
25
public class CrazyRegexTest {
21
26
@@ -55,15 +60,15 @@ void findLastWord() {
55
60
void findAllNumbers () {
56
61
String result = regexChecker (crazyRegex .findAllNumbers (), text );
57
62
assertThat (result ).isEqualTo ("\n 01001\n 03148\n 02132\n 412\n 555\n 1212\n 412\n 555" +
58
- "\n 1234\n 412\n 555\n 1234\n 646\n 555\n 1234\n 1" );
63
+ "\n 1234\n 412\n 555\n 1234\n 646\n 555\n 1234\n 1" );
59
64
}
60
65
61
66
@ Test
62
67
@ Order (5 )
63
68
void findDates () {
64
69
String result = regexChecker (crazyRegex .findDates (), json );
65
70
assertThat (result ).isEqualTo ("\n 2015-05-30\n 2012-08-06\n 2011-11-26\n 2015-05-30\n 2012-08-06\n " +
66
- "2011-11-26\n 2015-05-30\n 2012-08-06\n 2011-11-26" );
71
+ "2011-11-26\n 2015-05-30\n 2012-08-06\n 2011-11-26" );
67
72
}
68
73
69
74
@ Test
@@ -99,7 +104,7 @@ void findSimplePhoneNumber() {
99
104
void findNumbersFromZeroToFiveWithLengthThree () {
100
105
String result = regexChecker (crazyRegex .findNumbersFromZeroToFiveWithLengthThree (), text );
101
106
assertThat (result ).isEqualTo ("\n 010\n 031\n 021\n 412\n 555\n 121\n 412" +
102
- "\n 555\n 123\n 412\n 555\n 123\n 555\n 123" );
107
+ "\n 555\n 123\n 412\n 555\n 123\n 555\n 123" );
103
108
}
104
109
105
110
@ Test
@@ -114,16 +119,16 @@ void findAllWordsWithFiveLength() {
114
119
void findAllLettersAndDigitsWithLengthThree () {
115
120
String result = regexChecker (crazyRegex .findAllLettersAndDigitsWithLengthThree (), text );
116
121
assertThat (result ).isEqualTo ("\n The\n of\n the\n and\n the\n not\n The\n is\n don\n you\n nk\n nk\n The\n CA\n AK\n PA\n 412" +
117
- "\n 555\n com\n 412\n 555\n 412\n 555\n 646\n 555\n of\n com\n net\n or\n nyu\n edu\n 1Z\n aaa\n Of\n www\n com\n com\n www\n com" +
118
- "\n is\n is\n am\n not\n not\n why\n why\n am\n ok\n cat\n cat\n dog\n dog" );
122
+ "\n 555\n com\n 412\n 555\n 412\n 555\n 646\n 555\n of\n com\n net\n or\n nyu\n edu\n 1Z\n aaa\n Of\n www\n com\n com\n www\n com" +
123
+ "\n is\n is\n am\n not\n not\n why\n why\n am\n ok\n cat\n cat\n dog\n dog" );
119
124
}
120
125
121
126
@ Test
122
127
@ Order (13 )
123
128
void findAllWordsWhichBeginWithCapitalLetter () {
124
129
String result = regexChecker (crazyRegex .findAllWordsWhichBeginWithCapitalLetter (), json );
125
130
assertThat (result ).isEqualTo ("\n Front\n Hazard\n Avoidance\n Camera" +
126
- "\n Curiosity\n Front\n Hazard\n Avoidance\n Camera\n Curiosity\n Rear\n Hazard\n Avoidance\n Camera\n Curiosity" );
131
+ "\n Curiosity\n Front\n Hazard\n Avoidance\n Camera\n Curiosity\n Rear\n Hazard\n Avoidance\n Camera\n Curiosity" );
127
132
}
128
133
129
134
@ Test
@@ -160,8 +165,8 @@ void findOnlyLinksInJson() {
160
165
String result = regexChecker (crazyRegex .findOnlyLinksInJson (), json );
161
166
assertThat (result ).isEqualTo (
162
167
"\n http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01000/opgs/edr/fcam/FLB_486265257EDR_F0481570FHAZ00323M_.JPG\n " +
163
- "http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01000/opgs/edr/fcam/FRB_486265257EDR_F0481570FHAZ00323M_.JPG\n " +
164
- "http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01000/opgs/edr/rcam/RLB_486265291EDR_F0481570RHAZ00323M_.JPG"
168
+ "http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01000/opgs/edr/fcam/FRB_486265257EDR_F0481570FHAZ00323M_.JPG\n " +
169
+ "http://mars.jpl.nasa.gov/msl-raw-images/proj/msl/redops/ods/surface/sol/01000/opgs/edr/rcam/RLB_486265291EDR_F0481570RHAZ00323M_.JPG"
165
170
);
166
171
}
167
172
@@ -170,7 +175,7 @@ void findOnlyLinksInJson() {
170
175
void findAllEmails () {
171
176
String result = regexChecker (crazyRegex .findAllEmails (), text );
172
177
assertThat (result ).isEqualTo ("\n johnsmith@yahoo.com\n terek.koval@gmail.com\n terek@koval.net" +
173
- "\n terek.koval@nyu.edu" );
178
+ "\n terek.koval@nyu.edu" );
174
179
}
175
180
176
181
@ Test
@@ -185,7 +190,7 @@ void findAllPatternsForPhoneNumbers() {
185
190
void findOnlyDuplicates () {
186
191
String result = regexChecker (crazyRegex .findOnlyDuplicates (), text );
187
192
assertThat (result ).isEqualTo ("\n is is\n text text\n double double\n I I\n not not\n why why" +
188
- "\n cat cat\n dog\n dog\n fish fish" );
193
+ "\n cat cat\n dog\n dog\n fish fish" );
189
194
}
190
195
191
196
@ Test
@@ -208,21 +213,21 @@ void replaceLastSevenDigitsOfPhoneNumberToX() {
208
213
@ Order (24 )
209
214
void insertLinksAndResourcesIntoHref () {
210
215
String links = "[Bobocode](https://www.bobocode.com)" +
211
- "\n [LinkedIn](https://www.linkedin.com)" +
212
- "\n [Netflix](https://www.netflix.com)" ;
216
+ "\n [LinkedIn](https://www.linkedin.com)" +
217
+ "\n [Netflix](https://www.netflix.com)" ;
213
218
String result = crazyRegex .insertLinksAndResourcesIntoHref (links );
214
219
assertThat (result ).isEqualTo (
215
220
"<a href=\" https://www.bobocode.com\" >Bobocode</a>\n " +
216
- "<a href=\" https://www.linkedin.com\" >LinkedIn</a>\n " +
217
- "<a href=\" https://www.netflix.com\" >Netflix</a>"
221
+ "<a href=\" https://www.linkedin.com\" >LinkedIn</a>\n " +
222
+ "<a href=\" https://www.netflix.com\" >Netflix</a>"
218
223
);
219
224
}
220
225
221
226
private String regexChecker (Pattern pattern , String str2WorkWith ) {
222
227
Matcher matcher = pattern .matcher (str2WorkWith );
223
228
StringBuilder stringBuilder = new StringBuilder ();
224
229
while (matcher .find ()) {
225
- if (matcher .group ().length () != 0 ) {
230
+ if (matcher .group ().length () != 0 ) {
226
231
stringBuilder .append ("\n " ).append (matcher .group ());
227
232
}
228
233
}
0 commit comments