	@Test
	public void testWildcardedPath() {

		ResourcePermission rp;
		ResourcePermission rp2;

		// 11P
		rp = new ResourcePermission("path=*", "*");
		rp2 = new ResourcePermission("path=*", "*");
		assertTrue(rp.implies(rp2));

		// 12P
		rp = new ResourcePermission("path=*", "*");
		rp2 = new ResourcePermission("path=myPath/*", "*");
		assertTrue(rp.implies(rp2));

		// 13P
		rp = new ResourcePermission("path=*", "*");
		rp2 = new ResourcePermission("path=myPath", "*");
		assertTrue(rp.implies(rp2));

		// 21N
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=*", "*");
		assertFalse(rp.implies(rp2));

		// 22P
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath/*", "*");
		assertTrue(rp.implies(rp2));

		// 22P
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath/*", "*");
		assertTrue(rp.implies(rp2));

		// 22N
		rp = new ResourcePermission("path=myPath/sub2/*", "*");
		rp2 = new ResourcePermission("path=myPath/sub/*", "*");
		assertFalse(rp.implies(rp2));

		// 22N
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath2/sub/*", "*");
		assertFalse(rp.implies(rp2));

		// 23P
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath", "*");
		assertTrue(rp.implies(rp2));

		// 23P
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath/sub/sub", "*");
		assertTrue(rp.implies(rp2));

		// 23N
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath2", "*");
		assertFalse(rp.implies(rp2));

		// 23N
		rp = new ResourcePermission("path=myPath/*", "*");
		rp2 = new ResourcePermission("path=myPath2/sub/sub", "*");
		assertFalse(rp.implies(rp2));

		// 31N
		rp = new ResourcePermission("path=myPath", "*");
		rp2 = new ResourcePermission("path=*", "*");
		assertFalse(rp.implies(rp2));

		// 32N
		rp = new ResourcePermission("path=myPath/", "*");
		rp2 = new ResourcePermission("path=myPath/*", "*");
		assertFalse(rp.implies(rp2));

		// 33P
		rp = new ResourcePermission("path=myPath/", "*");
		rp2 = new ResourcePermission("path=myPath", "*");
		assertTrue(rp.implies(rp2));

		// 33P
		rp = new ResourcePermission("path=myPath", "*");
		rp2 = new ResourcePermission("path=myPath/", "*");
		assertTrue(rp.implies(rp2));

		// 33N
		rp = new ResourcePermission("path=myPath", "*");
		rp2 = new ResourcePermission("path=myPath/sub", "*");
		assertFalse(rp.implies(rp2));
	}