Skip to content

Commit 13243d9

Browse files
Merge pull request #41 from jenkinsci/improve_assertions
Improve assertions
2 parents 8cbf387 + 8854bf8 commit 13243d9

File tree

1 file changed

+33
-25
lines changed

1 file changed

+33
-25
lines changed

src/test/java/io/jenkins/plugins/emoji/symbols/EmojisTest.java

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
package io.jenkins.plugins.emoji.symbols;
22

3-
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
import static org.junit.jupiter.api.Assertions.assertNotNull;
5-
import static org.junit.jupiter.api.Assertions.assertTrue;
3+
import static org.hamcrest.MatcherAssert.assertThat;
4+
import static org.hamcrest.Matchers.anEmptyMap;
5+
import static org.hamcrest.Matchers.arrayWithSize;
6+
import static org.hamcrest.Matchers.containsString;
7+
import static org.hamcrest.Matchers.emptyArray;
8+
import static org.hamcrest.Matchers.hasSize;
9+
import static org.hamcrest.Matchers.is;
10+
import static org.hamcrest.Matchers.matchesPattern;
11+
import static org.hamcrest.Matchers.not;
12+
import static org.hamcrest.Matchers.notNullValue;
613

714
import java.io.File;
815
import java.lang.reflect.Constructor;
@@ -34,36 +41,37 @@ void testSVG() throws Exception {
3441
File svgFolder = new File("./src/main/resources/images/symbols");
3542

3643
String[] folderContents = svgFolder.list();
37-
assertNotNull(folderContents);
38-
assertEquals(folderContents.length, Emojis.getAvailableIcons().size());
39-
assertEquals(folderContents.length, Emojis.getAvailableEmojis().size());
44+
assertThat(folderContents, notNullValue());
45+
assertThat(folderContents, not(emptyArray()));
46+
assertThat(folderContents, arrayWithSize(Emojis.getAvailableIcons().size()));
47+
assertThat(folderContents, arrayWithSize(Emojis.getAvailableEmojis().size()));
4048

4149
List<String> entries = Files.readAllLines(emojiList.toPath(), StandardCharsets.UTF_8);
42-
assertEquals(folderContents.length, entries.size());
50+
assertThat(entries, hasSize(folderContents.length));
4351

4452
for (String svg : folderContents) {
4553
String emoji = Emojis.getAvailableIcons()
4654
.get(svg.replaceFirst("emoji_", "").replaceFirst(".svg", ""));
47-
assertNotNull(emoji);
55+
assertThat(emoji, notNullValue());
4856
}
4957

5058
for (String entry : entries) {
5159
String[] content = entry.split(":");
52-
assertEquals(2, content.length);
60+
assertThat(content, arrayWithSize(2));
5361

54-
assertTrue(content[0].matches("^[a-z0-9_]+$"));
62+
assertThat(content[0], matchesPattern("^[a-z0-9_]+$"));
5563

5664
String iconClassName = Emojis.getAvailableIcons().get(content[0]);
57-
assertNotNull(iconClassName);
58-
assertEquals(iconClassName, Emojis.getIconClassName(content[0]));
65+
assertThat(iconClassName, notNullValue());
66+
assertThat(iconClassName, is(Emojis.getIconClassName(content[0])));
5967

6068
String emoji = Emojis.getAvailableEmojis().get(content[0]);
61-
assertNotNull(emoji);
62-
assertEquals(emoji, content[1]);
69+
assertThat(emoji, notNullValue());
70+
assertThat(emoji, is(content[1]));
6371

6472
String svg = Files.readString(
6573
new File(svgFolder, "emoji_" + content[0] + ".svg").toPath(), StandardCharsets.UTF_8);
66-
assertTrue(svg.contains(content[1]));
74+
assertThat(svg, containsString(content[1]));
6775
}
6876
}
6977

@@ -79,11 +87,11 @@ void testMissingResource() throws Exception {
7987
File backup = new File("./target/classes/io/jenkins/plugins/emoji/symbols/Emojis/emojis.list.backup");
8088

8189
try {
82-
assertTrue(emojiList.renameTo(backup));
90+
assertThat(emojiList.renameTo(backup), is(true));
8391

8492
validateEmojisInstance();
8593
} finally {
86-
assertTrue(backup.renameTo(emojiList));
94+
assertThat(backup.renameTo(emojiList), is(true));
8795
}
8896
}
8997

@@ -99,14 +107,14 @@ void testInvalidResource() throws Exception {
99107
File backup = new File("./target/classes/io/jenkins/plugins/emoji/symbols/Emojis/emojis.list.backup");
100108

101109
try {
102-
assertTrue(emojiList.renameTo(backup));
103-
assertTrue(emojiList.createNewFile());
110+
assertThat(emojiList.renameTo(backup), is(true));
111+
assertThat(emojiList.createNewFile(), is(true));
104112
Files.writeString(emojiList.toPath(), "invalid", StandardCharsets.UTF_8);
105113

106114
validateEmojisInstance();
107115
} finally {
108-
assertTrue(emojiList.delete());
109-
assertTrue(backup.renameTo(emojiList));
116+
assertThat(emojiList.delete(), is(true));
117+
assertThat(backup.renameTo(emojiList), is(true));
110118
}
111119
}
112120

@@ -120,15 +128,15 @@ private static void validateEmojisInstance() throws Exception {
120128
@SuppressWarnings("unchecked")
121129
Map<String, String> availableIcons = (Map<String, String>) availableIconsField.get(emojis);
122130

123-
assertNotNull(availableIcons);
124-
assertTrue(availableIcons.isEmpty());
131+
assertThat(availableIcons, notNullValue());
132+
assertThat(availableIcons, anEmptyMap());
125133

126134
Field availableEmojisField = emojis.getClass().getDeclaredField("availableEmojis");
127135
availableEmojisField.setAccessible(true);
128136
@SuppressWarnings("unchecked")
129137
Map<String, String> availableEmojis = (Map<String, String>) availableEmojisField.get(emojis);
130138

131-
assertNotNull(availableEmojis);
132-
assertTrue(availableEmojis.isEmpty());
139+
assertThat(availableEmojis, notNullValue());
140+
assertThat(availableEmojis, anEmptyMap());
133141
}
134142
}

0 commit comments

Comments
 (0)