Files
Paper/paper-api/src/test/java/org/bukkit/NamespacedKeyTest.java
Bukkit/Spigot 2a6d2d27d7 #909: Update tests to JUnit 5
By: DerFrZocker <derrieple@gmail.com>
2023-09-24 06:09:10 +10:00

85 lines
3.6 KiB
Java

package org.bukkit;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
public class NamespacedKeyTest {
@Test
public void testValid() {
assertEquals("minecraft:foo", new NamespacedKey("minecraft", "foo").toString());
assertEquals("minecraft:foo/bar", new NamespacedKey("minecraft", "foo/bar").toString());
assertEquals("minecraft:foo/bar_baz", new NamespacedKey("minecraft", "foo/bar_baz").toString());
assertEquals("minecraft:foo/bar_baz-qux", new NamespacedKey("minecraft", "foo/bar_baz-qux").toString());
assertEquals("minecraft:foo/bar_baz-qux.quux", new NamespacedKey("minecraft", "foo/bar_baz-qux.quux").toString());
}
@Test
public void testValidFromString() {
NamespacedKey expected = NamespacedKey.minecraft("foo");
assertEquals(expected, NamespacedKey.fromString("foo"));
assertEquals(expected, NamespacedKey.fromString(":foo"));
assertEquals(expected, NamespacedKey.fromString("minecraft:foo"));
assertEquals(new NamespacedKey("foo", "bar"), NamespacedKey.fromString("foo:bar"));
assertNull(NamespacedKey.fromString("fOO"));
assertNull(NamespacedKey.fromString(":Foo"));
assertNull(NamespacedKey.fromString("fOO:bar"));
assertNull(NamespacedKey.fromString("minecraft:fOO"));
assertNull(NamespacedKey.fromString("foo:bar:bazz"));
}
@Test
public void testFromStringEmptyInput() {
assertThrows(IllegalArgumentException.class, () -> NamespacedKey.fromString(""));
}
@Test
public void testFromStringNullInput() {
assertThrows(IllegalArgumentException.class, () -> NamespacedKey.fromString(null));
}
@Test
public void testEmptyNamespace() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("", "foo").toString());
}
@Test
public void testEmptyKey() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("minecraft", "").toString());
}
@Test
public void testInvalidNamespace() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("minecraft/test", "foo").toString());
}
@Test
public void testInvalidNamespaceCasing() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("Minecraft", "foo").toString());
}
@Test
public void testInvalidKeyCasing() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("minecraft", "Foo").toString());
}
@Test
public void testInvalidKey() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("minecraft", "foo!").toString());
}
@Test
public void testBelowLength() {
new NamespacedKey("loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas",
"loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas").toString();
}
@Test
public void testAboveLength() {
assertThrows(IllegalArgumentException.class, () -> new NamespacedKey("loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas",
"loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas/"
+ "loremipsumdolorsitametconsecteturadipiscingelitduisvolutpatvelitsitametmaximusscelerisquemorbiullamcorperexacconsequategestas").toString());
}
}