mirror of
https://github.com/BentoBoxWorld/Greenhouses.git
synced 2024-11-25 12:05:55 +01:00
Added setting for glass panes
Added test cases and class for settings https://github.com/BentoBoxWorld/Greenhouses/issues/66
This commit is contained in:
parent
7dd9212797
commit
fad9936e24
@ -23,10 +23,13 @@ public class Settings implements ConfigObject {
|
|||||||
@ConfigEntry(path = "greenhouses.game-modes")
|
@ConfigEntry(path = "greenhouses.game-modes")
|
||||||
private List<String> gameModes = new ArrayList<>();
|
private List<String> gameModes = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
@ConfigComment("Show loaded recipe details during startup of server")
|
@ConfigComment("Show loaded recipe details during startup of server")
|
||||||
@ConfigEntry(path = "greenhouses.startup-log")
|
@ConfigEntry(path = "greenhouses.startup-log")
|
||||||
private boolean startupLog = false;
|
private boolean startupLog = false;
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
@ConfigComment("Weather and ecosystem settings")
|
@ConfigComment("Weather and ecosystem settings")
|
||||||
@ConfigComment("How often it should snow in the g/h when the weather is raining, in seconds")
|
@ConfigComment("How often it should snow in the g/h when the weather is raining, in seconds")
|
||||||
@ConfigEntry(path = "greenhouses.snowspeed")
|
@ConfigEntry(path = "greenhouses.snowspeed")
|
||||||
@ -40,6 +43,7 @@ public class Settings implements ConfigObject {
|
|||||||
@ConfigEntry(path = "greenhouses.snowdensity")
|
@ConfigEntry(path = "greenhouses.snowdensity")
|
||||||
private double snowDensity = 0.1;
|
private double snowDensity = 0.1;
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
@ConfigComment("Biome activity")
|
@ConfigComment("Biome activity")
|
||||||
@ConfigComment("How often should greenhouse biomes be checked to make sure they are still valid")
|
@ConfigComment("How often should greenhouse biomes be checked to make sure they are still valid")
|
||||||
@ConfigEntry(path = "greenhouses.ecotick")
|
@ConfigEntry(path = "greenhouses.ecotick")
|
||||||
@ -56,6 +60,7 @@ public class Settings implements ConfigObject {
|
|||||||
private int mobTick = 5;
|
private int mobTick = 5;
|
||||||
|
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
@ConfigComment("Default settings for greenhouse actions")
|
@ConfigComment("Default settings for greenhouse actions")
|
||||||
@ConfigComment("Allow lava or water to flow out of a greenhouse, e.g. through the door, floor")
|
@ConfigComment("Allow lava or water to flow out of a greenhouse, e.g. through the door, floor")
|
||||||
@ConfigEntry(path = "greenhouses.allowflowout")
|
@ConfigEntry(path = "greenhouses.allowflowout")
|
||||||
@ -64,10 +69,15 @@ public class Settings implements ConfigObject {
|
|||||||
@ConfigEntry(path = "greenhouses.allowflowin")
|
@ConfigEntry(path = "greenhouses.allowflowin")
|
||||||
private boolean allowFlowIn;
|
private boolean allowFlowIn;
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
@ConfigComment("Allow glowstone to be used as well as glass in roof and walls")
|
@ConfigComment("Allow glowstone to be used as well as glass in roof and walls")
|
||||||
@ConfigEntry(path = "greenhouses.allowglowstone")
|
@ConfigEntry(path = "greenhouses.allowglowstone")
|
||||||
private boolean allowGlowstone = true;
|
private boolean allowGlowstone = true;
|
||||||
|
|
||||||
|
@ConfigComment("")
|
||||||
|
@ConfigComment("Allow glass panes to be used to build greenhouses")
|
||||||
|
@ConfigEntry(path = "greenhouses.allowpanes")
|
||||||
|
private boolean allowPanes = true;
|
||||||
/**
|
/**
|
||||||
* @return the gameModes
|
* @return the gameModes
|
||||||
*/
|
*/
|
||||||
@ -212,5 +222,17 @@ public class Settings implements ConfigObject {
|
|||||||
public void setAllowGlowstone(boolean allowGlowstone) {
|
public void setAllowGlowstone(boolean allowGlowstone) {
|
||||||
this.allowGlowstone = allowGlowstone;
|
this.allowGlowstone = allowGlowstone;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @return the allowPanes
|
||||||
|
*/
|
||||||
|
public boolean isAllowPanes() {
|
||||||
|
return allowPanes;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param allowPanes the allowPanes to set
|
||||||
|
*/
|
||||||
|
public void setAllowPanes(boolean allowPanes) {
|
||||||
|
this.allowPanes = allowPanes;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -24,7 +24,7 @@ public class Roof extends MinMaxXZ {
|
|||||||
List<Material> r = Arrays.stream(Material.values())
|
List<Material> r = Arrays.stream(Material.values())
|
||||||
.filter(Material::isBlock) // Blocks only, no items
|
.filter(Material::isBlock) // Blocks only, no items
|
||||||
.filter(m -> m.name().contains("TRAPDOOR") // All trapdoors
|
.filter(m -> m.name().contains("TRAPDOOR") // All trapdoors
|
||||||
|| m.name().contains("GLASS") // All glass blocks
|
|| (m.name().contains("GLASS") && !m.name().contains("GLASS_PANE")) // All glass blocks
|
||||||
|| m.equals(Material.HOPPER)) // Hoppers
|
|| m.equals(Material.HOPPER)) // Hoppers
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
ROOF_BLOCKS = Collections.unmodifiableList(r);
|
ROOF_BLOCKS = Collections.unmodifiableList(r);
|
||||||
@ -172,7 +172,9 @@ public class Roof extends MinMaxXZ {
|
|||||||
* @return true if roof material
|
* @return true if roof material
|
||||||
*/
|
*/
|
||||||
public static boolean roofBlocks(Material m) {
|
public static boolean roofBlocks(Material m) {
|
||||||
return ROOF_BLOCKS.contains(m) || (m.equals(Material.GLOWSTONE) && Greenhouses.getInstance().getSettings().isAllowGlowstone());
|
return ROOF_BLOCKS.contains(m)
|
||||||
|
|| (m.equals(Material.GLOWSTONE) && Greenhouses.getInstance().getSettings().isAllowGlowstone())
|
||||||
|
|| (m.name().endsWith("GLASS_PANE") && Greenhouses.getInstance().getSettings().isAllowPanes());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,7 @@ public class Walls extends MinMaxXZ {
|
|||||||
.filter(Material::isBlock) // Blocks only, no items
|
.filter(Material::isBlock) // Blocks only, no items
|
||||||
.filter(m -> !m.name().contains("TRAPDOOR")) // No trap doors
|
.filter(m -> !m.name().contains("TRAPDOOR")) // No trap doors
|
||||||
.filter(m -> m.name().contains("DOOR") // All doors
|
.filter(m -> m.name().contains("DOOR") // All doors
|
||||||
|| m.name().contains("GLASS") // All glass blocks
|
|| (m.name().contains("GLASS") && !m.name().contains("GLASS_PANE")) // All glass blocks
|
||||||
|| m.equals(Material.HOPPER)) // Hoppers
|
|| m.equals(Material.HOPPER)) // Hoppers
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
WALL_BLOCKS = Collections.unmodifiableList(w);
|
WALL_BLOCKS = Collections.unmodifiableList(w);
|
||||||
@ -175,7 +175,9 @@ public class Walls extends MinMaxXZ {
|
|||||||
* @return true if wall material
|
* @return true if wall material
|
||||||
*/
|
*/
|
||||||
public static boolean wallBlocks(Material m) {
|
public static boolean wallBlocks(Material m) {
|
||||||
return WALL_BLOCKS.contains(m) || (m.equals(Material.GLOWSTONE) && Greenhouses.getInstance().getSettings().isAllowGlowstone());
|
return WALL_BLOCKS.contains(m)
|
||||||
|
|| (m.equals(Material.GLOWSTONE) && Greenhouses.getInstance().getSettings().isAllowGlowstone())
|
||||||
|
|| (m.name().endsWith("GLASS_PANE") && Greenhouses.getInstance().getSettings().isAllowPanes());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Greenhouses Configuration
|
# Greenhouses Configuration {$version}
|
||||||
#
|
#
|
||||||
greenhouses:
|
greenhouses:
|
||||||
# BentoBox GameModes that will use Greenhouses
|
# BentoBox GameModes that will use Greenhouses
|
||||||
@ -7,9 +7,10 @@ greenhouses:
|
|||||||
- AcidIsland
|
- AcidIsland
|
||||||
- SkyGrid
|
- SkyGrid
|
||||||
- AOneBlock
|
- AOneBlock
|
||||||
- CaveBlock
|
#
|
||||||
# Show loaded recipe details during startup of server
|
# Show loaded recipe details during startup of server
|
||||||
startup-log: false
|
startup-log: false
|
||||||
|
#
|
||||||
# Weather and ecosystem settings
|
# Weather and ecosystem settings
|
||||||
# How often it should snow in the g/h when the weather is raining, in seconds
|
# How often it should snow in the g/h when the weather is raining, in seconds
|
||||||
snowspeed: 30.0
|
snowspeed: 30.0
|
||||||
@ -18,6 +19,7 @@ greenhouses:
|
|||||||
snowchance: 1.0
|
snowchance: 1.0
|
||||||
# How many blocks should get snow 1 = all of them, 0 = none, 0.1 = 1 in 10
|
# How many blocks should get snow 1 = all of them, 0 = none, 0.1 = 1 in 10
|
||||||
snowdensity: 0.1
|
snowdensity: 0.1
|
||||||
|
#
|
||||||
# Biome activity
|
# Biome activity
|
||||||
# How often should greenhouse biomes be checked to make sure they are still valid
|
# How often should greenhouse biomes be checked to make sure they are still valid
|
||||||
ecotick: 5
|
ecotick: 5
|
||||||
@ -28,10 +30,15 @@ greenhouses:
|
|||||||
blocktick: 2
|
blocktick: 2
|
||||||
# How often should mobs be potentially spawned in a greenhouse, in minutes
|
# How often should mobs be potentially spawned in a greenhouse, in minutes
|
||||||
mobtick: 5
|
mobtick: 5
|
||||||
|
#
|
||||||
# Default settings for greenhouse actions
|
# Default settings for greenhouse actions
|
||||||
# Allow lava or water to flow out of a greenhouse, e.g. through the door, floor
|
# Allow lava or water to flow out of a greenhouse, e.g. through the door, floor
|
||||||
allowflowout: false
|
allowflowout: false
|
||||||
# Allow lava or water to flow into a greenhouse, e.g., through the door
|
# Allow lava or water to flow into a greenhouse, e.g., through the door
|
||||||
allowflowin: false
|
allowflowin: false
|
||||||
|
#
|
||||||
# Allow glowstone to be used as well as glass in roof and walls
|
# Allow glowstone to be used as well as glass in roof and walls
|
||||||
allowglowstone: true
|
allowglowstone: true
|
||||||
|
#
|
||||||
|
# Allow glass panes to be used to build greenhouses
|
||||||
|
allowpanes: true
|
||||||
|
175
src/test/java/world/bentobox/greenhouses/SettingsTest.java
Normal file
175
src/test/java/world/bentobox/greenhouses/SettingsTest.java
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
package world.bentobox.greenhouses;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
@RunWith(PowerMockRunner.class)
|
||||||
|
public class SettingsTest {
|
||||||
|
|
||||||
|
private Settings s;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() throws Exception {
|
||||||
|
s = new Settings();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetGameModes() {
|
||||||
|
assertTrue(s.getGameModes().isEmpty());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetSnowSpeed() {
|
||||||
|
assertEquals(30D, s.getSnowSpeed(), 0D);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetSnowChanceGlobal() {
|
||||||
|
assertEquals(1D, s.getSnowChanceGlobal(), 0D);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetSnowDensity() {
|
||||||
|
assertEquals(0.1D, s.getSnowDensity(), 0D);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetEcoTick() {
|
||||||
|
assertEquals(5, s.getEcoTick());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetPlantTick() {
|
||||||
|
assertEquals(1, s.getPlantTick());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetBlockTick() {
|
||||||
|
assertEquals(2, s.getBlockTick());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetMobTick() {
|
||||||
|
assertEquals(5, s.getMobTick());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsStartupLog() {
|
||||||
|
assertFalse(s.isStartupLog());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetStartupLog() {
|
||||||
|
s.setStartupLog(true);
|
||||||
|
assertTrue(s.isStartupLog());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAllowFlowOut() {
|
||||||
|
assertFalse(s.isAllowFlowOut());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAllowFlowIn() {
|
||||||
|
assertFalse(s.isAllowFlowIn());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetGameModes() {
|
||||||
|
s.setGameModes(Collections.singletonList("BSkyBlock"));
|
||||||
|
assertEquals("BSkyBlock", s.getGameModes().get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetSnowSpeed() {
|
||||||
|
s.setSnowSpeed(50);
|
||||||
|
assertEquals(50D, s.getSnowSpeed(), 0D);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetSnowChanceGlobal() {
|
||||||
|
s.setSnowChanceGlobal(50);
|
||||||
|
assertEquals(50D, s.getSnowChanceGlobal(), 0D);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetSnowDensity() {
|
||||||
|
s.setSnowDensity(50);
|
||||||
|
assertEquals(50D, s.getSnowDensity(), 0D);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetEcoTick() {
|
||||||
|
s.setEcoTick(50);
|
||||||
|
assertEquals(50, s.getEcoTick());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetPlantTick() {
|
||||||
|
s.setPlantTick(50);
|
||||||
|
assertEquals(50, s.getPlantTick());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetBlockTick() {
|
||||||
|
s.setBlockTick(50);
|
||||||
|
assertEquals(50, s.getBlockTick());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetMobTick() {
|
||||||
|
s.setMobTick(50);
|
||||||
|
assertEquals(50, s.getMobTick());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetAllowFlowOut() {
|
||||||
|
assertFalse(s.isAllowFlowOut());
|
||||||
|
s.setAllowFlowOut(true);
|
||||||
|
assertTrue(s.isAllowFlowOut());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetAllowFlowIn() {
|
||||||
|
assertFalse(s.isAllowFlowIn());
|
||||||
|
s.setAllowFlowIn(true);
|
||||||
|
assertTrue(s.isAllowFlowIn());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAllowGlowstone() {
|
||||||
|
assertTrue(s.isAllowGlowstone());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetAllowGlowstone() {
|
||||||
|
assertTrue(s.isAllowGlowstone());
|
||||||
|
s.setAllowGlowstone(false);
|
||||||
|
assertFalse(s.isAllowGlowstone());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsAllowPanes() {
|
||||||
|
assertTrue(s.isAllowPanes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetAllowPanes() {
|
||||||
|
assertTrue(s.isAllowPanes());
|
||||||
|
s.setAllowPanes(false);
|
||||||
|
assertFalse(s.isAllowPanes());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
package world.bentobox.greenhouses.greenhouse;
|
package world.bentobox.greenhouses.greenhouse;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
@ -14,14 +15,21 @@ import org.junit.Before;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
import world.bentobox.greenhouses.Greenhouses;
|
||||||
|
import world.bentobox.greenhouses.Settings;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author tastybento
|
* @author tastybento
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@RunWith(PowerMockRunner.class)
|
@RunWith(PowerMockRunner.class)
|
||||||
|
@PrepareForTest(Greenhouses.class)
|
||||||
public class RoofTest {
|
public class RoofTest {
|
||||||
|
|
||||||
private Roof roof;
|
private Roof roof;
|
||||||
@ -31,12 +39,20 @@ public class RoofTest {
|
|||||||
private Location location;
|
private Location location;
|
||||||
@Mock
|
@Mock
|
||||||
private World world;
|
private World world;
|
||||||
|
@Mock
|
||||||
|
private Greenhouses addon;
|
||||||
|
private Settings s;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws java.lang.Exception
|
* @throws java.lang.Exception
|
||||||
*/
|
*/
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
PowerMockito.mockStatic(Greenhouses.class, Mockito.RETURNS_MOCKS);
|
||||||
|
when(Greenhouses.getInstance()).thenReturn(addon);
|
||||||
|
s = new Settings();
|
||||||
|
when(addon.getSettings()).thenReturn(s);
|
||||||
|
|
||||||
when(world.getMaxHeight()).thenReturn(255);
|
when(world.getMaxHeight()).thenReturn(255);
|
||||||
// Block
|
// Block
|
||||||
when(block.getType()).thenReturn(Material.AIR, Material.AIR, Material.AIR, Material.AIR,
|
when(block.getType()).thenReturn(Material.AIR, Material.AIR, Material.AIR, Material.AIR,
|
||||||
@ -156,4 +172,33 @@ public class RoofTest {
|
|||||||
assertTrue(roof.toString().endsWith("minX=-9, maxX=28, minZ=-9, maxZ=29, height=14, roofFound=true]"));
|
assertTrue(roof.toString().endsWith("minX=-9, maxX=28, minZ=-9, maxZ=29, height=14, roofFound=true]"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link world.bentobox.greenhouses.greenhouse.Roof#roofBlocks(org.bukkit.Material)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testWallBlocks() {
|
||||||
|
assertFalse(Roof.roofBlocks(Material.ACACIA_BOAT));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.GLASS));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.GLOWSTONE));
|
||||||
|
assertFalse(Roof.roofBlocks(Material.ACACIA_DOOR));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.HOPPER));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.PURPLE_STAINED_GLASS_PANE));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.BIRCH_TRAPDOOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link world.bentobox.greenhouses.greenhouse.Roof#roofBlocks(org.bukkit.Material)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testWallBlocksNoGlowStoneNoPanes() {
|
||||||
|
s.setAllowGlowstone(false);
|
||||||
|
s.setAllowPanes(false);
|
||||||
|
assertFalse(Roof.roofBlocks(Material.ACACIA_BOAT));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.GLASS));
|
||||||
|
assertFalse(Roof.roofBlocks(Material.GLOWSTONE));
|
||||||
|
assertFalse(Roof.roofBlocks(Material.ACACIA_DOOR));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.HOPPER));
|
||||||
|
assertFalse(Roof.roofBlocks(Material.PURPLE_STAINED_GLASS_PANE));
|
||||||
|
assertTrue(Roof.roofBlocks(Material.BIRCH_TRAPDOOR));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,7 @@
|
|||||||
package world.bentobox.greenhouses.greenhouse;
|
package world.bentobox.greenhouses.greenhouse;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.mockito.Mock;
|
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
|
||||||
|
|
||||||
import world.bentobox.greenhouses.greenhouse.Walls.WallFinder;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
@ -21,12 +11,25 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
import world.bentobox.greenhouses.Greenhouses;
|
||||||
|
import world.bentobox.greenhouses.Settings;
|
||||||
|
import world.bentobox.greenhouses.greenhouse.Walls.WallFinder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author tastybento
|
* @author tastybento
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@RunWith(PowerMockRunner.class)
|
@RunWith(PowerMockRunner.class)
|
||||||
|
@PrepareForTest(Greenhouses.class)
|
||||||
public class WallsTest {
|
public class WallsTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
@ -41,6 +44,9 @@ public class WallsTest {
|
|||||||
* Class under test
|
* Class under test
|
||||||
*/
|
*/
|
||||||
private Walls walls;
|
private Walls walls;
|
||||||
|
@Mock
|
||||||
|
private Greenhouses addon;
|
||||||
|
private Settings s;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -48,6 +54,12 @@ public class WallsTest {
|
|||||||
*/
|
*/
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
PowerMockito.mockStatic(Greenhouses.class, Mockito.RETURNS_MOCKS);
|
||||||
|
when(Greenhouses.getInstance()).thenReturn(addon);
|
||||||
|
s = new Settings();
|
||||||
|
when(addon.getSettings()).thenReturn(s);
|
||||||
|
|
||||||
|
|
||||||
walls = new Walls();
|
walls = new Walls();
|
||||||
when(world.getMaxHeight()).thenReturn(255);
|
when(world.getMaxHeight()).thenReturn(255);
|
||||||
when(world.getBlockAt(anyInt(), anyInt(), anyInt())).thenReturn(block);
|
when(world.getBlockAt(anyInt(), anyInt(), anyInt())).thenReturn(block);
|
||||||
@ -65,13 +77,6 @@ public class WallsTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws java.lang.Exception
|
|
||||||
*/
|
|
||||||
@After
|
|
||||||
public void tearDown() throws Exception {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for {@link world.bentobox.greenhouses.greenhouse.Walls#findWalls(world.bentobox.greenhouses.greenhouse.Roof)}.
|
* Test method for {@link world.bentobox.greenhouses.greenhouse.Walls#findWalls(world.bentobox.greenhouses.greenhouse.Roof)}.
|
||||||
*/
|
*/
|
||||||
@ -190,12 +195,29 @@ public class WallsTest {
|
|||||||
public void testWallBlocks() {
|
public void testWallBlocks() {
|
||||||
assertFalse(Walls.wallBlocks(Material.ACACIA_BOAT));
|
assertFalse(Walls.wallBlocks(Material.ACACIA_BOAT));
|
||||||
assertTrue(Walls.wallBlocks(Material.GLASS));
|
assertTrue(Walls.wallBlocks(Material.GLASS));
|
||||||
|
assertTrue(Walls.wallBlocks(Material.GLOWSTONE));
|
||||||
assertTrue(Walls.wallBlocks(Material.ACACIA_DOOR));
|
assertTrue(Walls.wallBlocks(Material.ACACIA_DOOR));
|
||||||
assertTrue(Walls.wallBlocks(Material.HOPPER));
|
assertTrue(Walls.wallBlocks(Material.HOPPER));
|
||||||
assertTrue(Walls.wallBlocks(Material.PURPLE_STAINED_GLASS_PANE));
|
assertTrue(Walls.wallBlocks(Material.PURPLE_STAINED_GLASS_PANE));
|
||||||
assertFalse(Walls.wallBlocks(Material.BIRCH_TRAPDOOR));
|
assertFalse(Walls.wallBlocks(Material.BIRCH_TRAPDOOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test method for {@link world.bentobox.greenhouses.greenhouse.Walls#wallBlocks(org.bukkit.Material)}.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testWallBlocksNoGlowStoneNoPanes() {
|
||||||
|
s.setAllowGlowstone(false);
|
||||||
|
s.setAllowPanes(false);
|
||||||
|
assertFalse(Walls.wallBlocks(Material.ACACIA_BOAT));
|
||||||
|
assertTrue(Walls.wallBlocks(Material.GLASS));
|
||||||
|
assertFalse(Walls.wallBlocks(Material.GLOWSTONE));
|
||||||
|
assertTrue(Walls.wallBlocks(Material.ACACIA_DOOR));
|
||||||
|
assertTrue(Walls.wallBlocks(Material.HOPPER));
|
||||||
|
assertFalse(Walls.wallBlocks(Material.PURPLE_STAINED_GLASS_PANE));
|
||||||
|
assertFalse(Walls.wallBlocks(Material.BIRCH_TRAPDOOR));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test method for {@link world.bentobox.greenhouses.greenhouse.Walls#getFloor()}.
|
* Test method for {@link world.bentobox.greenhouses.greenhouse.Walls#getFloor()}.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user