package me.gnat008.perworldinventory.permission;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
/**
* Test for {@link PermissionSystem).}
*/
public class PermissionSystemTest {
@Test
public void shouldHaveDefinedAndUniqueNames() {
// given / when / then
List<String> names = new ArrayList<>(PermissionSystem.values().length);
List<String> pluginNames = new ArrayList<>(PermissionSystem.values().length);
for (PermissionSystem system : PermissionSystem.values()) {
assertThat("Name for enum entry '" + system + "' is not null",
system.getName(), not(nullValue()));
assertThat("Plugin name for enum entry '" + system + "' is not null",
system.getPluginName(), not(nullValue()));
assertThat("Only one enum entry has name '" + system.getName() + "'",
names, not(hasItem(system.getName())));
assertThat("Only one enum entry has plugin name '" + system.getPluginName() + "'",
pluginNames, not(hasItem(system.getPluginName())));
names.add(system.getName());
pluginNames.add(system.getPluginName());
}
}
@Test
public void shouldRecognizePermissionSystemType() {
assertThat(PermissionSystem.isPermissionSystem("bogus"), equalTo(false));
assertThat(PermissionSystem.isPermissionSystem("PermissionsBukkit"), equalTo(true));
}
}