Minestom/src/test/java/net/minestom/server/tag/TagMapTest.java

44 lines
1.2 KiB
Java
Raw Normal View History

2022-03-20 01:47:57 +01:00
package net.minestom.server.tag;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
2022-04-17 20:52:29 +02:00
import static org.junit.jupiter.api.Assertions.assertNull;
2022-03-20 01:47:57 +01:00
public class TagMapTest {
private record Entry(int value) {
}
@Test
public void map() {
var handler = TagHandler.newHandler();
var intTag = Tag.Integer("key");
var tag = intTag.map(Entry::new, Entry::value);
handler.setTag(tag, new Entry(1));
assertEquals(1, handler.getTag(intTag));
assertEquals(new Entry(1), handler.getTag(tag));
}
@Test
public void mapDefault() {
var handler = TagHandler.newHandler();
var intTag = Tag.Integer("key");
var tag = intTag.map(Entry::new, Entry::value);
assertEquals(new Entry(1), handler.getTag(tag.defaultValue(new Entry(1))));
handler.setTag(tag, new Entry(2));
assertEquals(2, handler.getTag(intTag));
assertEquals(new Entry(2), handler.getTag(tag));
}
2022-04-17 20:52:29 +02:00
@Test
public void mapDefaultAbsent() {
var handler = TagHandler.newHandler();
var tag = Tag.Integer("key").map(Entry::new, Entry::value);
assertNull(handler.getTag(tag));
}
2022-03-20 01:47:57 +01:00
}