private void update(LocalPlayer localPlayer, ApplicableRegionSet set, boolean allowed) { if (!allowed) { storedMessage = set.queryValue(localPlayer, Flags.EXIT_DENY_MESSAGE); exitViaTeleport = set.testState(localPlayer, Flags.EXIT_VIA_TELEPORT); } }
@Test public void testEntry() throws Exception { ApplicableRegionSet appl; appl = manager.getApplicableRegions(inEntry); // ProtectedRegion rg = appl.iterator().next(); // System.out.println("rg " + rg.getId()); // System.out.println("mem " + rg.getMembers().toGroupsString()); // System.out.println("flag " + appl.getFlag(Flags.ENTRY)); // System.out.println("grp " + appl.getFlag(Flags.ENTRY.getRegionGroupFlag())); // System.out.println("==="); assertTrue("Allowed Entry", appl.testState(vipPlayer, Flags.ENTRY)); assertFalse("Forbidden Entry", appl.testState(builderPlayer, Flags.ENTRY)); }
@Test public void testExit() throws Exception { ApplicableRegionSet appl; appl = manager.getApplicableRegions(inExit); // ProtectedRegion rg = appl.iterator().next(); // System.out.println("rg " + rg.getId()); // System.out.println("own " + rg.getOwners().toGroupsString()); // System.out.println("flag " + appl.getFlag(Flags.EXIT)); // System.out.println("grp " + appl.getFlag(Flags.EXIT.getRegionGroupFlag())); // System.out.println("==="); assertTrue("Allowed Exit", appl.testState(builderPlayer, Flags.EXIT)); assertFalse("Forbidden Exit", appl.testState(vipPlayer, Flags.EXIT)); }
@Test public void testNoPriorities() throws Exception { ApplicableRegionSet appl; courtyard.setPriority(0); fountain.setPriority(0); appl = manager.getApplicableRegions(inCourtyard); assertTrue(appl.testState(null, Flags.FIRE_SPREAD)); assertFalse(appl.testState(null, Flags.MOB_SPAWNING)); appl = manager.getApplicableRegions(inFountain); assertFalse(appl.testState(null, Flags.FIRE_SPREAD)); assertTrue(appl.testState(null, Flags.MOB_SPAWNING)); }
@Test public void testNoGlobalRegionDefaultBuild() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }
@Test public void testPriorities() throws Exception { ApplicableRegionSet appl; courtyard.setPriority(5); fountain.setPriority(0); appl = manager.getApplicableRegions(inCourtyard); assertTrue(appl.testState(null, Flags.FIRE_SPREAD)); appl = manager.getApplicableRegions(inFountain); assertFalse(appl.testState(null, Flags.FIRE_SPREAD)); }
@Test public void testPriorities2() throws Exception { ApplicableRegionSet appl; courtyard.setPriority(0); fountain.setPriority(5); appl = manager.getApplicableRegions(inCourtyard); assertFalse(appl.testState(null, Flags.MOB_SPAWNING)); appl = manager.getApplicableRegions(inFountain); assertTrue(appl.testState(null, Flags.MOB_SPAWNING)); } }
@Test public void testWildernessBuild() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer player = mock.createPlayer(); ApplicableRegionSet set = mock.getApplicableSet(); assertThat(set.testState(player, Flags.BUILD), is(true)); }
@Test public void testWildernessBuildWithRegion() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); ProtectedRegion region = mock.add(0); region.getMembers().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertThat(set.testState(member, Flags.BUILD), is(true)); assertThat(set.testState(nonMember, Flags.BUILD), is(false)); }
@Test public void testGlobalRegionDefaultBuild() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); @SuppressWarnings("unused") ProtectedRegion region = mock.global(); LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionBuildFlagAllow() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }
@Test public void testWildernessBuildWithGlobalRegion() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer player = mock.createPlayer(); ProtectedRegion global = mock.global(); ApplicableRegionSet set = mock.getApplicableSet(); assertThat(set.testState(player, Flags.BUILD), is(true)); }
@Test public void testGlobalRegionBuildFlagDeny() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.DENY); LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildAccess() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionHavingOwnershipBuildFlagUnset() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testPriorityDisjointBuildDenyFlagAndRegion() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region = mock.add(1); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildAllowFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.ALLOW); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(member, Flags.BUILD)); assertTrue(set.testState(nonMember, Flags.BUILD)); }
@Test public void testBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region.setFlag(Flags.BUILD, StateFlag.State.DENY); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testGlobalRegionHavingOwnershipBuildFlagDeny() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.global(); region.setFlag(Flags.BUILD, StateFlag.State.DENY); region.getOwners().addPlayer(member); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }
@Test public void testPriorityDisjointMembershipAndBuildDenyFlag() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; LocalPlayer member = mock.createPlayer(); LocalPlayer nonMember = mock.createPlayer(); region = mock.add(0); region.getOwners().addPlayer(member); region = mock.add(1); region.setFlag(Flags.BUILD, StateFlag.State.DENY); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(member, Flags.BUILD)); assertFalse(set.testState(nonMember, Flags.BUILD)); }