@Test
public void testNamed() {

    Permission p1, p2;
    // Case insensitive, same
    p1 = new Permission("something");
    p2 = new Permission("something");
    assertTrue(p1.implies(p2));
    assertTrue(p2.implies(p1));
    // Case insensitive, different case
    p1 = new Permission("something");
    p2 = new Permission("SOMETHING");
    assertTrue(p1.implies(p2));
    assertTrue(p2.implies(p1));
    // Case insensitive, different word
    p1 = new Permission("something");
    p2 = new Permission("else");
    assertFalse(p1.implies(p2));
    assertFalse(p2.implies(p1));
    // Case sensitive same
    p1 = new Permission("BLAHBLAH", false);
    p2 = new Permission("BLAHBLAH", false);
    assertTrue(p1.implies(p2));
    assertTrue(p2.implies(p1));
    // Case sensitive, different case
    p1 = new Permission("BLAHBLAH", false);
    p2 = new Permission("bLAHBLAH", false);
    assertTrue(p1.implies(p2));
    assertTrue(p2.implies(p1));
    // Case sensitive, different word
    p1 = new Permission("BLAHBLAH", false);
    p2 = new Permission("whatwhat", false);
    assertFalse(p1.implies(p2));
    assertFalse(p2.implies(p1));
}