- Abstract Messages into two layers: the top layer 'Messages' is how Messages can be retrieved and sent as before. In the background, package-private, MessagesManager actually does the file read and worries about I/O while Messages takes care of higher-level things (such as joining two lines or checking the current language).
34 lines
848 B
Java
34 lines
848 B
Java
package fr.xephi.authme.output;
|
|
|
|
import fr.xephi.authme.util.StringUtils;
|
|
import org.junit.Test;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
import static org.junit.Assert.fail;
|
|
|
|
/**
|
|
* Test for {@link MessageKey}.
|
|
*/
|
|
public class MessageKeyTest {
|
|
|
|
@Test
|
|
public void shouldHaveUniqueMessageKeys() {
|
|
// given
|
|
MessageKey[] messageKeys = MessageKey.values();
|
|
Set<String> keys = new HashSet<>();
|
|
|
|
// when / then
|
|
for (MessageKey messageKey : messageKeys) {
|
|
String key = messageKey.getKey();
|
|
if (keys.contains(key)) {
|
|
fail("Found key '" + messageKey.getKey() + "' twice!");
|
|
} else if (StringUtils.isEmpty(key)) {
|
|
fail("Key for message key '" + messageKey + "' is empty");
|
|
}
|
|
keys.add(key);
|
|
}
|
|
}
|
|
}
|