SPIGOT-5900: Add test for the order of Material enum entries
Dieser Commit ist enthalten in:
Ursprung
8297676c20
Commit
551e770f5f
@ -3,9 +3,14 @@ package org.bukkit;
|
|||||||
import static org.hamcrest.Matchers.*;
|
import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.StreamSupport;
|
||||||
import net.minecraft.server.IRegistry;
|
import net.minecraft.server.IRegistry;
|
||||||
import net.minecraft.server.Item;
|
import net.minecraft.server.Item;
|
||||||
import net.minecraft.server.MinecraftKey;
|
import net.minecraft.server.MinecraftKey;
|
||||||
@ -43,4 +48,28 @@ public class MaterialTest extends AbstractTestingBase {
|
|||||||
|
|
||||||
assertThat(materials, is(Collections.EMPTY_MAP));
|
assertThat(materials, is(Collections.EMPTY_MAP));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void verifyMaterialOrder() {
|
||||||
|
List<Material> expectedOrder = new ArrayList<>(Material.values().length);
|
||||||
|
|
||||||
|
// Start with items in the same order as IRegistry.ITEM
|
||||||
|
StreamSupport.stream(IRegistry.ITEM.spliterator(), false)
|
||||||
|
.map(CraftMagicNumbers::getMaterial)
|
||||||
|
.forEach(expectedOrder::add);
|
||||||
|
|
||||||
|
// Then non-item blocks in the same order as IRegistry.BLOCK
|
||||||
|
StreamSupport.stream(IRegistry.BLOCK.spliterator(), false)
|
||||||
|
.map(CraftMagicNumbers::getMaterial)
|
||||||
|
.filter(block -> !block.isItem())
|
||||||
|
.forEach(expectedOrder::add);
|
||||||
|
|
||||||
|
// Then legacy materials in order of ID
|
||||||
|
Arrays.stream(Material.values())
|
||||||
|
.filter(Material::isLegacy)
|
||||||
|
.sorted(Comparator.comparingInt(Material::getId))
|
||||||
|
.forEach(expectedOrder::add);
|
||||||
|
|
||||||
|
assertArrayEquals(Material.values(), expectedOrder.toArray());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren