package nl.minicom.gitolite.manager.models; import java.util.Iterator; import java.util.SortedSet; import org.junit.Assert; import org.junit.Test; import com.google.common.collect.Sets; public class PermissionTest { @Test public void testComparatorForInOrderPermissions() { SortedSet<Permission> rights = Sets.newTreeSet(Permission.SORT_ON_ORDINAL); rights.add(Permission.ALL); rights.add(Permission.READ_ONLY); Iterator<Permission> iter = rights.iterator(); Assert.assertEquals(Permission.ALL, iter.next()); Assert.assertEquals(Permission.READ_ONLY, iter.next()); } @Test public void testComparatorForPermissionsInReversedOrder() { SortedSet<Permission> rights = Sets.newTreeSet(Permission.SORT_ON_ORDINAL); rights.add(Permission.READ_ONLY); rights.add(Permission.ALL); Iterator<Permission> iter = rights.iterator(); Assert.assertEquals(Permission.ALL, iter.next()); Assert.assertEquals(Permission.READ_ONLY, iter.next()); } @Test public void testGetByNameMethodWhenPermissionIsNotPresent() { Assert.assertEquals(null, Permission.getByLevel("permission-which-doesnt-exist")); } @Test public void testGetByNameMethodWhenPermissionIsPresent() { Assert.assertEquals(Permission.ALL, Permission.getByLevel("RW+")); } @Test(expected = NullPointerException.class) public void testThatGetByNameMethodThrowsExceptionOnInputNull() { Permission.getByLevel(null); } @Test(expected = IllegalArgumentException.class) public void testThatGetByNameMethodThrowsExceptionsOnEmptyInput() { Permission.getByLevel(""); } }