@Test public void testGetMembershipGlobalRegionAndRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion global = mock.global(); ProtectedRegion region = mock.add(0); LocalPlayer player = mock.createPlayer(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.FAIL)); }
@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 testGetEffectiveFlagGlobalRegionBuild() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion global = mock.global(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getEffectiveFlag(global, Flags.BUILD, null), equalTo(null)); }
@Test public void testGetMembershipWilderness() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer player = mock.createPlayer(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.NO_REGIONS)); }
@Test public void testGetEffectivePriority() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(30); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getPriority(region), is(30)); }
@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 testStateFlagPriorityFallThrough() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; StateFlag state1 = new StateFlag(null, false); StateFlag state2 = new StateFlag(null, false); StateFlag state3 = new StateFlag(null, false); region = mock.add(0); region.setFlag(state1, StateFlag.State.ALLOW); region.setFlag(state2, StateFlag.State.DENY); region = mock.add(1); region.setFlag(state1, StateFlag.State.DENY); region.setFlag(state3, StateFlag.State.ALLOW); ApplicableRegionSet set = mock.getApplicableSet(); assertFalse(set.testState(null, state1)); assertFalse(set.testState(null, state2)); assertTrue(set.testState(null, state3)); }
@Test public void testStateGlobalDefault() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; StateFlag state1 = new StateFlag(null, false); StateFlag state2 = new StateFlag(null, false); StateFlag state3 = new StateFlag(null, false); StateFlag state4 = new StateFlag(null, true); StateFlag state5 = new StateFlag(null, true); StateFlag state6 = new StateFlag(null, true); region = mock.global(); region.setFlag(state1, StateFlag.State.ALLOW); region.setFlag(state2, StateFlag.State.DENY); region.setFlag(state4, StateFlag.State.ALLOW); region.setFlag(state5, StateFlag.State.DENY); ApplicableRegionSet set = mock.getApplicableSet(); assertTrue(set.testState(null, state1)); assertFalse(set.testState(null, state2)); assertFalse(set.testState(null, state3)); assertTrue(set.testState(null, state4)); assertFalse(set.testState(null, state5)); assertTrue(set.testState(null, state6)); }
@Test public void testQueryStateWilderness() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); StateFlag flag1 = new StateFlag("test1", false); StateFlag flag2 = new StateFlag("test2", true); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryState(null, flag1), is((State) null)); assertThat(result.queryState(null, flag2), is(State.ALLOW)); }
public ProtectedRegion createOutside(int priority) { ProtectedRegion region = new ProtectedCuboidRegion(getNextId(), BlockVector3.at(0, 0, 0), BlockVector3.at(1, 1, 1)); region.setPriority(priority); return region; }
@Test public void testQueryValueAllowOverridesNone() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); StateFlag flag1 = new StateFlag("test1", false); StateFlag flag2 = new StateFlag("test2", false); region = mock.add(0); region.setFlag(flag2, State.ALLOW); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(null, flag1), is((State) null)); assertThat(result.queryValue(null, flag2), is(State.ALLOW)); }
@Test public void testGetEffectivePriorityGlobalRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.global(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getPriority(region), is(Integer.MIN_VALUE)); }
@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 testStateFlagMultiplePriorityFallThrough() { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region; StringFlag string1 = new StringFlag(null); StringFlag string2 = new StringFlag(null); StringFlag string3 = new StringFlag(null); StringFlag string4 = new StringFlag(null); region = mock.add(0); region.setFlag(string1, "Beans"); region.setFlag(string2, "Apples"); region.setFlag(string3, "Dogs"); region = mock.add(1); region.setFlag(string1, "Cats"); region.setFlag(string3, "Bananas"); region = mock.add(10); region.setFlag(string3, "Strings"); ApplicableRegionSet set = mock.getApplicableSet(); assertEquals(set.queryValue(null, string1), "Cats"); assertEquals(set.queryValue(null, string2), "Apples"); assertEquals(set.queryValue(null, string3), "Strings"); assertNull(set.queryValue(null, string4)); }
@Test public void testQueryValueBuildFlagWilderness() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer nonMember = mock.createPlayer(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(nonMember, Flags.BUILD), is(State.ALLOW)); }
public ProtectedRegion add(int priority, ProtectedRegion parent) throws ProtectedRegion.CircularInheritanceException { ProtectedRegion region = new ProtectedCuboidRegion(getNextId(), BlockVector3.at(0, 0, 0), BlockVector3.at(1, 1, 1)); region.setPriority(priority); region.setParent(parent); add(region); return region; }
@Test public void testGetMembershipWildernessWithGlobalRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer player = mock.createPlayer(); ProtectedRegion global = mock.global(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.NO_REGIONS)); }
@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 testQueryValueSingleRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); StateFlag flag1 = new StateFlag("test1", false); StateFlag flag2 = new StateFlag("test2", false); ProtectedRegion region = mock.add(0); region.setFlag(flag2, State.DENY); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(null, flag1), is((State) null)); assertThat(result.queryValue(null, flag2), is(State.DENY)); }