@Test public void testGetMembershipPassthroughAndRegionMemberOfWithHigherPriorityAndAnotherNot() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); region = mock.add(10); LocalPlayer player = mock.createPlayer(); region.getMembers().addPlayer(player); region = mock.add(0); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.SUCCESS)); }
@Test public void testGetMembershipPassthroughAndRegionMemberOfAndAnotherNotWithHigherPriority() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); region = mock.add(0); LocalPlayer player = mock.createPlayer(); region.getMembers().addPlayer(player); region = mock.add(10); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.FAIL)); }
@Test public void testGetMembershipPassthroughAndRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); region = mock.add(0); LocalPlayer player = mock.createPlayer(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.FAIL)); }
@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 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 testGetMembershipPassthroughAndRegionMemberOfWithAnotherParent() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion passthrough = mock.add(0); passthrough.setFlag(Flags.PASSTHROUGH, State.ALLOW); ProtectedRegion parent = mock.add(0); ProtectedRegion region = mock.add(0); region.setParent(parent); LocalPlayer player = mock.createPlayer(); region.getMembers().addPlayer(player); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.SUCCESS)); }
@Test public void testGetMembershipPassthroughRegions() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); LocalPlayer player = mock.createPlayer(); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.NO_REGIONS)); }
@Test public void testGetMembershipPassthroughAndRegionMemberOf() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); ProtectedRegion region = mock.add(0); region.setFlag(Flags.PASSTHROUGH, State.ALLOW); region = mock.add(0); LocalPlayer player = mock.createPlayer(); region.getMembers().addPlayer(player); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.getMembership(player), is(Result.SUCCESS)); }
@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)); }
@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 testQueryValueBuildFlagRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); LocalPlayer nonMember = mock.createPlayer(); LocalPlayer member = mock.createPlayer(); ProtectedRegion region = mock.add(0); region.getMembers().addPlayer(member); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(nonMember, Flags.BUILD), is((State) null)); assertThat(result.queryValue(member, Flags.BUILD), is(State.ALLOW)); }
@Test public void testQueryValueStringFlagWithGlobalRegionAndRegion() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); StringFlag flag = new StringFlag("test"); ProtectedRegion global = mock.global(); global.setFlag(flag, "hello"); ProtectedRegion region = mock.add(0); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(null, flag), is("hello")); }
@Test public void testQueryValueStringFlagWithGlobalRegionAndRegionOverride() throws Exception { MockApplicableRegionSet mock = new MockApplicableRegionSet(); StringFlag flag = new StringFlag("test"); ProtectedRegion global = mock.global(); global.setFlag(flag, "hello"); ProtectedRegion region = mock.add(0); region.setFlag(flag, "beep"); FlagValueCalculator result = mock.getFlagCalculator(); assertThat(result.queryValue(null, flag), is("beep")); }
public ProtectedRegion add(int priority) { ProtectedRegion region = new ProtectedCuboidRegion(getNextId(), BlockVector3.at(0, 0, 0), BlockVector3.at(1, 1, 1)); region.setPriority(priority); add(region); return region; }
@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 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)); }
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 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 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 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)); }