├── .gitignore ├── .travis.yml ├── README.md ├── pom.xml └── src ├── main └── java │ └── pl │ └── socketbyte │ └── opengui │ ├── ColorUtil.java │ ├── FinalItemJob.java │ ├── GUI.java │ ├── GUIElement.java │ ├── GUIExtender.java │ ├── GUIExtenderItem.java │ ├── GUIHolder.java │ ├── GUISettings.java │ ├── ItemBuilder.java │ ├── ItemEnchantment.java │ ├── ItemPack.java │ ├── OpenGUI.java │ ├── Rows.java │ ├── SimpleGUI.java │ ├── event │ ├── ElementResponse.java │ ├── EnteredItemResponse.java │ ├── NotEnterableItemResponse.java │ ├── SerializedElementResponse.java │ └── WindowResponse.java │ └── serializable │ ├── ItemSection.java │ ├── Serializable.java │ ├── SerializableGUI.java │ ├── SerializableItemBuilder.java │ └── SerializableSimpleGUI.java └── test └── java └── pl └── socketbyte └── opengui ├── ColorUtil_ESTest.java ├── ColorUtil_ESTest_scaffolding.java ├── FinalItemJob_ESTest.java ├── FinalItemJob_ESTest_scaffolding.java ├── GUIElement_ESTest.java ├── GUIElement_ESTest_scaffolding.java ├── GUIExtenderItem_ESTest.java ├── GUIExtenderItem_ESTest_scaffolding.java ├── GUIExtender_ESTest.java ├── GUIExtender_ESTest_scaffolding.java ├── GUIHolder_ESTest.java ├── GUIHolder_ESTest_scaffolding.java ├── GUISettings_ESTest.java ├── GUISettings_ESTest_scaffolding.java ├── GUI_ESTest.java ├── GUI_ESTest_scaffolding.java ├── ItemBuilder_ESTest.java ├── ItemBuilder_ESTest_scaffolding.java ├── ItemEnchantment_ESTest.java ├── ItemEnchantment_ESTest_scaffolding.java ├── ItemPack_ESTest.java ├── ItemPack_ESTest_scaffolding.java ├── OpenGUI_ESTest.java ├── OpenGUI_ESTest_scaffolding.java ├── Rows_ESTest.java ├── Rows_ESTest_scaffolding.java ├── SimpleGUI_ESTest.java └── SimpleGUI_ESTest_scaffolding.java /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .evosuite/ 3 | *.iml 4 | *.iws 5 | *.tmp 6 | log/ 7 | target/ -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenGUI ![version](https://img.shields.io/badge/version-1.2-blue.svg) [![Build Status](https://travis-ci.org/SocketByte/OpenGUI.svg?branch=master)](https://travis-ci.org/SocketByte/OpenGUI) 2 | Simple GUI management solution. 3 | 4 | ## Installation (Maven) 5 | Just use my public repository and set the scope to compile. 6 | 7 | There's no any jar file to install on the server. You just compile it with your plugin. 8 | ```xml 9 | 10 | 11 | opengui 12 | https://repo.socketbyte.pl/repository/nexus-releases/ 13 | 14 | 15 | ``` 16 | ```xml 17 | 18 | 19 | pl.socketbyte 20 | OpenGUI 21 | 1.2 22 | compile 23 | 24 | 25 | ``` 26 | ## Installation (Non-maven) 27 | Download and copy the source-code into your `src` folder. 28 | 29 | Keep in mind that you need following dependencies to get it to work. 30 | - Bukkit or Spigot engine installed on your server. https://yivesmirror.com/downloads/spigot 31 | - JDK/JRE 8 or higher. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 32 | ## Compatibility 33 | This API should be compatible with all Bukkit or Spigot 34 | versions since `1.0`. 35 | I would recommend running it on a version higher than `1.7.2` though. 36 | 37 | It was tested on Minecraft version `1.12.2`. 38 | ## Usage 39 | It is fairly simple. *OpenGUI* has two possible usages. Object-based or standard. 40 | 41 | Standard, and the simplest usage example: 42 | ```java 43 | public class YourPluginClass extends JavaPlugin { 44 | 45 | public static void showGUI(Player player) { 46 | // Register the listeners. 47 | OpenGUI.INSTANCE.register(instance); 48 | 49 | // Create the GUI inventory using our special wrapper. 50 | GUI gui = new GUI("&cSimple Title", Rows.FIVE); 51 | // Create GUIExtender class and provide the GUI information. 52 | SimpleGUI simpleGUI = new SimpleGUI(gui); 53 | 54 | // Some additional GUI settings like entering/dragging items. 55 | simpleGUI.getGuiSettings().setCanEnterItems(true); 56 | simpleGUI.getGuiSettings().setCanDrag(true); 57 | 58 | // Set specific enterable/draggable items 59 | simpleGUI.getGuiSettings().addEnterableItem(Material.STONE); 60 | simpleGUI.getGuiSettings().addEnterableItem(Material.GOLDEN_APPLE, 1); 61 | 62 | // Set event to occur when user tries to enter non-enterable item 63 | simpleGUI.getGuiSettings().setNotEnterableItemResponse( 64 | inventoryClickEvent -> 65 | inventoryClickEvent.getWhoClicked().sendMessage( 66 | "You can not enter that item!")); 67 | 68 | // Set event to occur when user enters an item successfully 69 | simpleGUI.getGuiSettings().setEnteredItemResponse( 70 | inventoryClickEvent -> 71 | inventoryClickEvent.getWhoClicked().sendMessage( 72 | "Entered an item!")); 73 | 74 | // #1 Set an item to a specified slot and assign an ItemBuilder 75 | simpleGUI.setItem(0, new ItemBuilder(Material.DIRT, 1).setName("&aTest!")); 76 | 77 | // #2 Add an item with assigned ItemBuilder 78 | simpleGUI.addItem(new ItemBuilder(Material.DIAMOND)); 79 | 80 | // #3 Add an item with assigned ItemBuilder and ElementResponse event. (onClick) 81 | simpleGUI.addItem(new ItemBuilder(Material.GOLD_AXE), event -> 82 | System.out.println("On click event!")); 83 | 84 | // #4 Set items all together using ItemPack class. 85 | simpleGUI.setItem( 86 | new ItemPack(1, new ItemBuilder(Material.WOOD)), 87 | new ItemPack(2, new ItemBuilder(Material.STONE)), 88 | new ItemPack(3, new ItemBuilder(Material.DIAMOND_ORE)), 89 | new ItemPack(4, new ItemBuilder(Material.EMERALD))); 90 | 91 | // Add an element response to slot 0. 92 | simpleGUI.addElementResponse(0, event -> 93 | System.out.println("On click event at slot 0!")); 94 | 95 | // Add an element response to slot 1 and assign "pullable" value. 96 | // It means that you can pull out that item from the GUI and take it with you. 97 | simpleGUI.addElementResponse(1, true, event -> 98 | System.out.println("On click event at slot 1!")); 99 | 100 | // Add WindowResponse event. 101 | simpleGUI.addWindowResponse(new WindowResponse() { 102 | @Override 103 | public void onOpen(InventoryOpenEvent event) { 104 | System.out.println("Opened!"); 105 | } 106 | 107 | @Override 108 | public void onClose(InventoryCloseEvent event) { 109 | System.out.println("Closed!"); 110 | } 111 | }); 112 | 113 | // Remove an item from slot 0. 114 | simpleGUI.removeItem(0); 115 | 116 | // Open inventory. 117 | // WARNING: This is important that you use our method. 118 | // You can use player.openInventory(inventory) 119 | // only when not using overrided items. (More on that in object-based usage) 120 | simpleGUI.openInventory(player); 121 | } 122 | 123 | } 124 | ``` 125 | 126 | Object-based usage. (A little more complicated, this is for advanced users who are familiar with basics of object-oriented programming!) 127 | ### Custom GUI creation 128 | ```java 129 | public class TestGUI extends GUIExtender { 130 | 131 | // Simple custom GUI, here you can add your items and prepare it for show. 132 | // Functionality of this object will be extended in the future. 133 | public TestGUI() { 134 | super(new GUI("&cSuper Title", Rows.THREE)); 135 | 136 | getGuiSettings().setCanDrag(true); 137 | getGuiSettings().setCanEnterItems(true); 138 | // Add possible to enter material 139 | getGuiSettings().addEnterableItem(Material.STONE); 140 | 141 | // Here we can set our GUIExtenderItem class extension as a normal item. 142 | setItem(0, new TestItem()); 143 | 144 | // Every functionality from standard usage is of course here. 145 | // You can add/set items, add element response or other listeners. 146 | // You can even override all the methods, but I don't see any useful outcomes of this. 147 | } 148 | 149 | @Override 150 | public void onOpen(InventoryOpenEvent e) { 151 | System.out.println("Opened!"); 152 | } 153 | 154 | @Override 155 | public void onClose(InventoryCloseEvent e) { 156 | System.out.println("Closed!"); 157 | } 158 | } 159 | 160 | 161 | ``` 162 | ### Custom Item (Element) creation 163 | ```java 164 | public class TestItem extends GUIExtenderItem { 165 | 166 | public TestItem() { 167 | // We can set here the default ItemBuilder, 168 | // but there's no need for it as we're overriding the getItemBuilder method 169 | super(); 170 | 171 | setPullable(false); 172 | } 173 | 174 | // You can change resulting item just before the player opens the inventory. 175 | // The assignment of the item is made in GUIExtender.openInventory(player) method. 176 | @Override 177 | public ItemBuilder getItemBuilder(Player player) { 178 | if (player.getName().equals("pl.socketbyte.opengui.Test")) 179 | return new ItemBuilder(Material.DIAMOND) 180 | .setName("&bDiamond") 181 | .setLore("Very nice", "Diamond"); 182 | return new ItemBuilder(Material.GRASS) 183 | .setName("&2Grass") 184 | .setLore("Gross", "Grass"); 185 | } 186 | 187 | // ElementResponse implementation. 188 | @Override 189 | public void onClick(InventoryClickEvent event) { 190 | System.out.println("Click!"); 191 | } 192 | } 193 | 194 | ``` 195 | Now you can show your amazing objects to the player using 196 | ``` 197 | TestGUI testGUI = new TestGUI(); 198 | testGUI.openInventory(player); 199 | ``` 200 | ## Serialization 201 | OpenGUI in `1.2` offers Serializable classes that allow to easily configure your GUI from config.yml file. 202 | 203 | If you want to use it from config, you need to use different objects. 204 | 205 | `SerializableSimpleGUI` instead of `SimpleGUI` 206 | 207 | `SerializableGUI` instead of `GUI` 208 | 209 | `SerializableItemBuilder` instead of `ItemBuilder` 210 | 211 | Congratulations! You can save now your `SerializableSimpleGUI` 212 | using 213 | ```java 214 | configuration.set("gui", yourSimpleGUI) 215 | ``` 216 | 217 | Of course you can read GUI from config like this: 218 | ```java 219 | SerializableSimpleGUI gui = (SerializableSimpleGUI) configuration.get("gui") 220 | ``` 221 | 222 | Result: 223 | ```yml 224 | gui: 225 | canDrag: true 226 | canEnterItems: true 227 | enterableItems: 228 | - GOLD_PICKAXE 229 | gui: 230 | title: '&2&lDrop' 231 | actions: 232 | # action ID on slot 0 etc. 233 | 0: on_click_action_0 234 | 1: on_click_action_1 235 | 2: on_click_action_2 236 | 3: on_click_action_3 237 | 4: on_click_action_4 238 | 5: on_click_action_5 239 | inventory: 240 | - slot: 0 241 | item: 242 | material: DIAMOND 243 | amount: 1 244 | durability: 0 245 | name: null 246 | lore: null 247 | - slot: 1 248 | item: 249 | material: GOLDEN_APPLE 250 | amount: 1 251 | durability: 1 252 | name: null 253 | lore: null 254 | - slot: 2 255 | item: 256 | material: COAL 257 | amount: 48 258 | durability: 0 259 | name: null 260 | lore: null 261 | - slot: 3 262 | item: 263 | material: CHORUS_FLOWER 264 | amount: 1 265 | durability: 0 266 | name: null 267 | lore: 268 | - Hi! 269 | - Boi! 270 | - slot: 4 271 | item: 272 | material: JACK_O_LANTERN 273 | amount: 1 274 | durability: 0 275 | name: '&6Hello!' 276 | lore: null 277 | - slot: 5 278 | item: 279 | material: LAPIS_BLOCK 280 | amount: 1 281 | durability: 0 282 | name: null 283 | lore: null 284 | ``` 285 | 286 | Like you can see, OpenGUI offers additional `action id` parameters. 287 | You can find them in `SerializableSimpleGUI` and use them like this: 288 | ```java 289 | simpleGUI.hasAction(int slot) 290 | simpleGUI.getActionFor(int slot) // returns String 291 | ``` 292 | You can use them to append different `ElementResponse` actions for each item. 293 | It allows to create dynamic GUIs right from your configuration file. 294 | 295 | Enchantments are currently not supported. To be added in `1.2b` 296 | 297 | ## JUnit 298 | Project supports JUnit 4. 299 | Test code is generated automatically using [EvoSuite 1.0.5](http://www.evosuite.org). 300 | 301 | ## At the end... 302 | This project is not well written, or amazing in any case. It's usage is heavily inspired by [AmpMenus](https://github.com/Amperial/AmpMenus) 303 | but it's a bit more rich in functionalities and still supported. 304 | 305 | If you have any questions or issues feel free to use github issues forum. 306 | If you want to contribute on the project you of course can. 307 | 308 | ## License and Terms of Use 309 | **No license** basically. You can do everything with the code, but you can't distribute or sell it. 310 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | pl.socketbyte 8 | OpenGUI 9 | 1.2 10 | 11 | 12 | 13 | Spigot Repository 14 | https://hub.spigotmc.org/nexus/content/repositories/snapshots/ 15 | 16 | 17 | 18 | 19 | 20 | EvoSuite 21 | EvoSuite Repository 22 | http://www.evosuite.org/m2 23 | 24 | 25 | 26 | 27 | 28 | nexus-releases 29 | http://repo.socketbyte.pl/repository/nexus-releases/ 30 | 31 | 32 | nexus-snapshots 33 | http://repo.socketbyte.pl/repository/nexus-snapshots/ 34 | 35 | 36 | 37 | 38 | 39 | 40 | maven-deploy-plugin 41 | 2.8.1 42 | 43 | 44 | default-deploy 45 | deploy 46 | 47 | deploy 48 | 49 | 50 | 51 | 52 | 53 | org.apache.maven.plugins 54 | maven-compiler-plugin 55 | 3.5.1 56 | 57 | 1.8 58 | 1.8 59 | 60 | 61 | 62 | org.evosuite.plugins 63 | evosuite-maven-plugin 64 | 1.0.5 65 | 66 | 67 | 68 | prepare 69 | 70 | process-test-classes 71 | 72 | 73 | 74 | 75 | org.apache.maven.plugins 76 | maven-surefire-plugin 77 | 2.17 78 | 79 | 80 | 81 | listener 82 | org.evosuite.runtime.InitializingListener 83 | 84 | 85 | 86 | 87 | 88 | true 89 | org.apache.maven.plugins 90 | maven-enforcer-plugin 91 | 1.3.1 92 | 93 | 94 | enforce-maven-3 95 | 96 | enforce 97 | 98 | 99 | 100 | 101 | 3.1 102 | 103 | 104 | true 105 | 106 | 107 | 108 | 109 | 110 | org.codehaus.mojo 111 | build-helper-maven-plugin 112 | 1.8 113 | 114 | 115 | add-test-source 116 | generate-test-sources 117 | 118 | add-test-source 119 | 120 | 121 | 122 | .evosuite/evosuite-tests 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | org.spigotmc 135 | spigot-api 136 | 1.12.1-R0.1-SNAPSHOT 137 | jar 138 | provided 139 | 140 | 141 | org.evosuite 142 | evosuite-standalone-runtime 143 | 1.0.5 144 | test 145 | 146 | 147 | junit 148 | junit 149 | 4.12 150 | 151 | 152 | org.junit.jupiter 153 | junit-jupiter-api 154 | 5.1.0-M1 155 | test 156 | 157 | 158 | 159 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/ColorUtil.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.ChatColor; 4 | 5 | import java.util.List; 6 | import java.util.stream.Collectors; 7 | 8 | public class ColorUtil { 9 | 10 | public static String fixColor(String str) { 11 | return ChatColor.translateAlternateColorCodes('&', str); 12 | } 13 | 14 | public static List fixColor(List stringList) { 15 | return stringList.stream().map(ColorUtil::fixColor) 16 | .collect(Collectors.toList()); 17 | } 18 | 19 | public static String[] fixColor(String[] strings) { 20 | String[] stringArray = new String[strings.length]; 21 | for (int i = 0; i < strings.length; i++) { 22 | stringArray[i] = fixColor(strings[i]); 23 | } 24 | return stringArray; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/FinalItemJob.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | public class FinalItemJob { 4 | 5 | private final int slot; 6 | private final GUIExtenderItem guiExtenderItem; 7 | 8 | public FinalItemJob(int slot, GUIExtenderItem guiExtenderItem) { 9 | this.slot = slot; 10 | this.guiExtenderItem = guiExtenderItem; 11 | } 12 | 13 | public FinalItemJob(GUIExtenderItem guiExtenderItem) { 14 | this.slot = -1; 15 | this.guiExtenderItem = guiExtenderItem; 16 | } 17 | 18 | public int getSlot() { 19 | return slot; 20 | } 21 | 22 | public GUIExtenderItem getGuiExtenderItem() { 23 | return guiExtenderItem; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUI.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.Material; 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.inventory.Inventory; 7 | import org.bukkit.inventory.InventoryHolder; 8 | import org.bukkit.inventory.ItemStack; 9 | 10 | import java.util.UUID; 11 | 12 | public class GUI { 13 | 14 | private final UUID uniqueId = UUID.randomUUID(); 15 | private Inventory inventory; 16 | private final Rows rows; 17 | private final String title; 18 | private InventoryHolder holder; 19 | 20 | public GUI(InventoryHolder holder, String title) { 21 | this.rows = Rows.SIX; 22 | this.holder = holder; 23 | this.title = title; 24 | 25 | this.inventory = createInventory(holder, Rows.SIX, title); 26 | } 27 | 28 | public GUI(InventoryHolder holder, String title, Rows rows) { 29 | this.rows = rows; 30 | this.holder = holder; 31 | this.title = title; 32 | 33 | this.inventory = createInventory(holder, rows, title); 34 | } 35 | 36 | public GUI(String title, Rows rows) { 37 | this.rows = rows; 38 | this.title = title; 39 | 40 | this.inventory = createInventory( 41 | new GUIHolder(this, Bukkit.createInventory(null, 42 | rows.getSlots())), 43 | rows, 44 | title); 45 | } 46 | 47 | public GUI(String title) { 48 | this.rows = Rows.SIX; 49 | this.title = title; 50 | 51 | this.inventory = createInventory( 52 | new GUIHolder(this, Bukkit.createInventory(null, Rows.SIX.getSlots())), 53 | Rows.SIX, 54 | title); 55 | } 56 | 57 | public void openInventory(Player player) { 58 | player.openInventory(this.inventory); 59 | } 60 | 61 | public int addItem(ItemBuilder itemBuilder) { 62 | try { 63 | this.inventory.addItem(itemBuilder.getItem()); 64 | } catch (Exception ignored) { } 65 | return getPosition(itemBuilder.getItem().getType(), itemBuilder.getItem().getDurability()); 66 | } 67 | 68 | private int getPosition(Material material, int data) { 69 | try { 70 | for (int i = 0; i < this.inventory.getContents().length; i++) { 71 | ItemStack itemStack = this.inventory.getItem(i); 72 | 73 | if (itemStack.getType().equals(material) 74 | && itemStack.getDurability() == data) 75 | return i; 76 | } 77 | } catch (Exception ignored) { } 78 | return -1; 79 | } 80 | 81 | public void setItem(int slot, ItemBuilder itemBuilder) { 82 | try { 83 | this.inventory.setItem(slot, itemBuilder.getItem()); 84 | } catch (Exception ignored) { } 85 | } 86 | 87 | public void removeItem(int slot) { 88 | this.inventory.setItem(slot, new ItemStack(Material.AIR)); 89 | } 90 | 91 | public static Inventory createInventory(InventoryHolder holder, Rows rows, String title) { 92 | return Bukkit.createInventory(holder, 93 | rows.getSlots(), 94 | ColorUtil.fixColor(title)); 95 | } 96 | 97 | public static Inventory createInventory(InventoryHolder holder, int size, String title) { 98 | return Bukkit.createInventory(holder, 99 | size, 100 | ColorUtil.fixColor(title)); 101 | } 102 | 103 | public void setInventory(Inventory inventory) { 104 | this.inventory = inventory; 105 | } 106 | 107 | @Override 108 | public String toString() { 109 | return uniqueId.toString(); 110 | } 111 | 112 | public UUID getUniqueId() { 113 | return uniqueId; 114 | } 115 | 116 | public Inventory getInventory() { 117 | return inventory; 118 | } 119 | 120 | public Rows getRows() { 121 | return rows; 122 | } 123 | 124 | public String getTitle() { 125 | return title; 126 | } 127 | 128 | public InventoryHolder getHolder() { 129 | return holder; 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUIElement.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import pl.socketbyte.opengui.event.ElementResponse; 4 | 5 | public class GUIElement { 6 | 7 | private final int slot; 8 | private ElementResponse elementResponse; 9 | private GUIExtenderItem guiExtenderItem; 10 | private boolean pullable; 11 | 12 | public GUIElement(int slot) { 13 | this.slot = slot; 14 | } 15 | 16 | public GUIElement(int slot, boolean pullable) { 17 | this.slot = slot; 18 | this.pullable = pullable; 19 | } 20 | 21 | public void addElementResponse(int slot, ElementResponse elementResponse) { 22 | this.elementResponse = elementResponse; 23 | this.pullable = false; 24 | } 25 | 26 | public void addElementResponse(int slot, boolean pullable, ElementResponse elementResponse) { 27 | this.elementResponse = elementResponse; 28 | this.pullable = pullable; 29 | } 30 | 31 | public void addElementResponse(int slot, GUIExtenderItem guiExtenderItem) { 32 | this.pullable = guiExtenderItem.isPullable(); 33 | this.guiExtenderItem = guiExtenderItem; 34 | } 35 | 36 | public int getSlot() { 37 | return slot; 38 | } 39 | 40 | public ElementResponse getElementResponse() { 41 | return elementResponse; 42 | } 43 | 44 | public GUIExtenderItem getGuiExtenderItem() { 45 | return guiExtenderItem; 46 | } 47 | 48 | public boolean isPullable() { 49 | return pullable; 50 | } 51 | 52 | @Override 53 | public String toString() { 54 | return "[" + slot + "] " + elementResponse.hashCode(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUIExtender.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.Material; 5 | import org.bukkit.entity.Player; 6 | import org.bukkit.event.EventHandler; 7 | import org.bukkit.event.Listener; 8 | import org.bukkit.event.inventory.InventoryClickEvent; 9 | import org.bukkit.event.inventory.InventoryCloseEvent; 10 | import org.bukkit.event.inventory.InventoryDragEvent; 11 | import org.bukkit.event.inventory.InventoryOpenEvent; 12 | import org.bukkit.inventory.Inventory; 13 | import org.bukkit.inventory.ItemStack; 14 | import pl.socketbyte.opengui.event.ElementResponse; 15 | import pl.socketbyte.opengui.event.WindowResponse; 16 | 17 | import java.util.ArrayList; 18 | import java.util.HashMap; 19 | import java.util.List; 20 | import java.util.Map; 21 | 22 | public abstract class GUIExtender implements Listener, WindowResponse { 23 | 24 | private final int id; 25 | 26 | private final List jobs = new ArrayList<>(); 27 | private final Map elements = new HashMap<>(); 28 | private GUISettings guiSettings; 29 | private GUI gui; 30 | private WindowResponse windowResponse; 31 | 32 | public GUIExtender(GUI gui) { 33 | this.gui = gui; 34 | this.id = OpenGUI.INSTANCE.getGUIs().size(); 35 | OpenGUI.INSTANCE.getGUIs().put(id, this); 36 | 37 | this.guiSettings = new GUISettings(); 38 | this.guiSettings.setCanEnterItems(false); 39 | this.guiSettings.setCanDrag(false); 40 | 41 | Bukkit.getPluginManager().registerEvents(this, OpenGUI.INSTANCE.getInstance()); 42 | } 43 | 44 | public void setGUI(GUI gui) { 45 | this.gui = gui; 46 | this.elements.clear(); 47 | this.jobs.clear(); 48 | } 49 | 50 | public void addEmptyElementResponse(int slot, boolean pullable) { 51 | GUIElement guiElement = new GUIElement(slot, pullable); 52 | elements.put(slot, guiElement); 53 | } 54 | 55 | public void addElementResponse(int slot, ElementResponse elementResponse) { 56 | GUIElement guiElement = new GUIElement(slot); 57 | guiElement.addElementResponse(slot, elementResponse); 58 | elements.put(slot, guiElement); 59 | } 60 | 61 | public void addElementResponse(int slot, boolean pullable, ElementResponse elementResponse) { 62 | GUIElement guiElement = new GUIElement(slot); 63 | guiElement.addElementResponse(slot, pullable, elementResponse); 64 | elements.put(slot, guiElement); 65 | } 66 | 67 | public void addElementResponse(int slot, GUIExtenderItem guiExtenderItem) { 68 | GUIElement guiElement = new GUIElement(slot); 69 | guiElement.addElementResponse(slot, guiExtenderItem.isPullable(), guiExtenderItem); 70 | elements.put(slot, guiElement); 71 | } 72 | 73 | private void addEmptyElementResponse(int slot) { 74 | GUIElement guiElement = new GUIElement(slot); 75 | elements.put(slot, guiElement); 76 | } 77 | 78 | public void addWindowResponse(WindowResponse windowResponse) { 79 | this.windowResponse = windowResponse; 80 | } 81 | 82 | 83 | @EventHandler 84 | public void onInventoryDrag(InventoryDragEvent event) { 85 | if (event.getView().getTopInventory().equals(getBukkitInventory()) 86 | && !guiSettings.isCanDrag()) { 87 | event.setCancelled(true); 88 | return; 89 | } 90 | if (guiSettings.isCanDrag() && 91 | canEnter(event.getCursor())) { 92 | event.setCancelled(false); 93 | } 94 | } 95 | 96 | @EventHandler 97 | public void onInventoryClick(InventoryClickEvent event) { 98 | if (event.getView() == null 99 | || event.getView().getTopInventory() == null 100 | || event.getView().getBottomInventory() == null 101 | || event.getClickedInventory() == null) 102 | return; 103 | 104 | if (guiSettings.isCanEnterItems()) { 105 | if (!event.isShiftClick()) { 106 | if (event.getView().getTopInventory().equals(getBukkitInventory()) 107 | && event.getClickedInventory().equals(getBukkitInventory()) 108 | && event.getCursor() != null 109 | && canEnter(event.getCursor())) { 110 | if (guiSettings.getEnteredItemResponse() != null) 111 | guiSettings.getEnteredItemResponse().event(event); 112 | event.setCancelled(false); 113 | return; 114 | } else if (event.getView().getTopInventory().equals(getBukkitInventory()) 115 | && event.getClickedInventory().equals(getBukkitInventory()) 116 | && event.getCursor() != null 117 | && !canEnter(event.getCursor())) { 118 | if (guiSettings.getNotEnterableItemResponse() != null) 119 | guiSettings.getNotEnterableItemResponse().event(event); 120 | event.setCancelled(true); 121 | return; 122 | } 123 | } else { 124 | if (event.getView().getTopInventory().equals(getBukkitInventory()) 125 | && !event.getClickedInventory().equals(getBukkitInventory()) 126 | && event.getCurrentItem() != null 127 | && canEnter(event.getCurrentItem())) { 128 | if (guiSettings.getEnteredItemResponse() != null) 129 | guiSettings.getEnteredItemResponse().event(event); 130 | event.setCancelled(false); 131 | return; 132 | } else if (event.getView().getTopInventory().equals(getBukkitInventory()) 133 | && !event.getClickedInventory().equals(getBukkitInventory()) 134 | && event.getCurrentItem() != null 135 | && !canEnter(event.getCurrentItem())) { 136 | if (guiSettings.getNotEnterableItemResponse() != null) 137 | guiSettings.getNotEnterableItemResponse().event(event); 138 | event.setCancelled(true); 139 | return; 140 | } 141 | } 142 | } 143 | 144 | if (event.getView().getTopInventory().equals(getBukkitInventory()) 145 | && !guiSettings.isCanEnterItems()) { 146 | if (event.isShiftClick() && 147 | !event.getClickedInventory().equals(getBukkitInventory())) { 148 | event.setCancelled(true); 149 | return; 150 | } 151 | else if (!event.isShiftClick() && 152 | event.getClickedInventory().equals(getBukkitInventory()) 153 | && (event.getCurrentItem() == null || event.getCurrentItem().getType().equals(Material.AIR))) { 154 | event.setCancelled(true); 155 | return; 156 | } 157 | else if (!event.isShiftClick() && 158 | event.getClickedInventory().equals(getBukkitInventory())) { 159 | checkElements(event); 160 | return; 161 | } 162 | else if (event.isShiftClick() && 163 | event.getClickedInventory().equals(getBukkitInventory())) { 164 | checkElements(event); 165 | return; 166 | } 167 | event.setCancelled(false); 168 | return; 169 | } 170 | checkElements(event); 171 | } 172 | 173 | private boolean canEnter(ItemStack itemStack) { 174 | if (guiSettings.isCanEnterItems()) { 175 | List materials = guiSettings.getEnterableItems(); 176 | 177 | if (materials.isEmpty()) 178 | return true; 179 | 180 | if (itemStack == null || itemStack.getType().equals(Material.AIR)) 181 | return true; 182 | 183 | for (ItemStack entry : materials) { 184 | Material material = entry.getType(); 185 | short data = entry.getDurability(); 186 | 187 | if (itemStack.getType().equals(material) 188 | && itemStack.getDurability() == data) 189 | return true; 190 | } 191 | } 192 | return false; 193 | } 194 | 195 | @EventHandler 196 | public void onInventoryOpen(InventoryOpenEvent e) { 197 | if (e.getView().getTopInventory().equals(getBukkitInventory())) { 198 | if (windowResponse != null) 199 | windowResponse.onOpen(e); 200 | } 201 | } 202 | 203 | @EventHandler 204 | public void onInventoryClose(InventoryCloseEvent e) { 205 | if (e.getView().getTopInventory().equals(getBukkitInventory())) { 206 | if (windowResponse != null) 207 | windowResponse.onClose(e); 208 | 209 | Bukkit.getScheduler().runTaskLater(OpenGUI.INSTANCE.getInstance(), () -> 210 | ((Player) e.getPlayer()).updateInventory(), 5); 211 | // I need to update the inventory because minecraft is weird 212 | // otherwise you can make the item to.. "stay" in your inventory until you do something with it 213 | } 214 | } 215 | 216 | public void setItem(ItemPack... itemPacks) { 217 | for (ItemPack itemPack : itemPacks) { 218 | ItemBuilder itemBuilder = itemPack.getItemBuilder(); 219 | int slot = itemPack.getSlot(); 220 | 221 | if (itemPack.getElementResponse() != null) 222 | addElementResponse(slot, itemPack.getElementResponse()); 223 | else addEmptyElementResponse(slot); 224 | 225 | gui.setItem(slot, itemBuilder); 226 | updateInventory(); 227 | } 228 | } 229 | 230 | public void changeItem(int slot, ItemBuilder itemBuilder) { 231 | gui.setItem(slot, itemBuilder); 232 | updateInventory(); 233 | } 234 | 235 | public void setItem(int slot, ItemBuilder itemBuilder) { 236 | gui.setItem(slot, itemBuilder); 237 | addEmptyElementResponse(slot); 238 | updateInventory(); 239 | } 240 | 241 | public void setItem(int slot, ItemBuilder itemBuilder, ElementResponse elementResponse) { 242 | gui.setItem(slot, itemBuilder); 243 | addElementResponse(slot, elementResponse); 244 | updateInventory(); 245 | } 246 | 247 | public void setItem(int slot, GUIExtenderItem guiExtenderItem) { 248 | jobs.add(new FinalItemJob(slot, guiExtenderItem)); 249 | } 250 | 251 | public int addItem(ItemBuilder itemBuilder) { 252 | int index = gui.addItem(itemBuilder); 253 | addEmptyElementResponse(index); 254 | updateInventory(); 255 | return index; 256 | } 257 | 258 | public int addItem(ItemBuilder itemBuilder, ElementResponse elementResponse) { 259 | int index = gui.addItem(itemBuilder); 260 | addElementResponse(index, elementResponse); 261 | updateInventory(); 262 | return index; 263 | } 264 | 265 | public void addItem(GUIExtenderItem guiExtenderItem) { 266 | jobs.add(new FinalItemJob(guiExtenderItem)); 267 | } 268 | 269 | public void removeItem(int slot) { 270 | gui.removeItem(slot); 271 | } 272 | 273 | public void openInventory(Player player) { 274 | if (!jobs.isEmpty()) { 275 | for (FinalItemJob finalItemJob : jobs) { 276 | if (finalItemJob.getSlot() == -1) { 277 | addExtenderItem(finalItemJob.getGuiExtenderItem(), 278 | player); 279 | } 280 | else setExtenderItem(finalItemJob.getSlot(), 281 | finalItemJob.getGuiExtenderItem(), 282 | player); 283 | } 284 | jobs.clear(); 285 | } 286 | 287 | player.openInventory(getBukkitInventory()); 288 | } 289 | 290 | public Inventory getBukkitInventory() { 291 | return gui.getInventory(); 292 | } 293 | 294 | public void updateInventory() { 295 | List slots = new ArrayList<>(); 296 | int temp = 0; 297 | for (ItemStack itemStack : getBukkitInventory().getContents()) { 298 | temp++; 299 | if (itemStack == null || itemStack.getType().equals(Material.AIR)) 300 | continue; 301 | 302 | int current = temp - 1; 303 | slots.add(current); 304 | } 305 | 306 | for (int slot : elements.keySet()) 307 | if (slots.contains(slot)) 308 | slots.remove((Integer) slot); 309 | 310 | for (int slot : slots) 311 | addEmptyElementResponse(slot); 312 | 313 | getBukkitInventory().getViewers().forEach(viewer -> ((Player)viewer).updateInventory()); 314 | } 315 | 316 | private void setExtenderItem(int slot, GUIExtenderItem guiExtenderItem, Player player) { 317 | gui.setItem(slot, guiExtenderItem.getItemBuilder(player)); 318 | addElementResponse(slot, guiExtenderItem); 319 | updateInventory(); 320 | } 321 | 322 | private void addExtenderItem(GUIExtenderItem guiExtenderItem, Player player) { 323 | int index = gui.addItem(guiExtenderItem.getItemBuilder(player)); 324 | addElementResponse(index, guiExtenderItem); 325 | updateInventory(); 326 | } 327 | 328 | private void checkElements(InventoryClickEvent event) { 329 | for (GUIElement element : elements.values()) { 330 | int slot = element.getSlot(); 331 | 332 | if (slot != event.getSlot()) 333 | continue; 334 | if (!event.getClickedInventory().equals(getBukkitInventory())) 335 | continue; 336 | if (!event.getView().getTopInventory().equals(getBukkitInventory())) 337 | continue; 338 | 339 | event.setCancelled(!element.isPullable()); 340 | if (element.getElementResponse() != null) 341 | element.getElementResponse().onClick(event); 342 | else if (element.getGuiExtenderItem() != null) 343 | element.getGuiExtenderItem().onClick(event); 344 | } 345 | 346 | } 347 | 348 | public int getId() { 349 | return id; 350 | } 351 | 352 | public List getJobs() { 353 | return jobs; 354 | } 355 | 356 | public Map getElements() { 357 | return elements; 358 | } 359 | 360 | public GUISettings getGuiSettings() { 361 | return guiSettings; 362 | } 363 | 364 | public GUI getGui() { 365 | return gui; 366 | } 367 | 368 | public WindowResponse getWindowResponse() { 369 | return windowResponse; 370 | } 371 | } 372 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUIExtenderItem.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.entity.Player; 5 | import pl.socketbyte.opengui.event.ElementResponse; 6 | 7 | public abstract class GUIExtenderItem implements ElementResponse { 8 | 9 | private final ItemBuilder itemBuilder; 10 | private boolean pullable; 11 | 12 | public GUIExtenderItem(ItemBuilder itemBuilder) { 13 | this.itemBuilder = itemBuilder; 14 | } 15 | 16 | public GUIExtenderItem() { 17 | this.itemBuilder = new ItemBuilder(Material.AIR); 18 | } 19 | 20 | // You can override this based on a player for example. 21 | public ItemBuilder getItemBuilder(Player player) { 22 | return itemBuilder; 23 | } 24 | 25 | public boolean isPullable() { 26 | return pullable; 27 | } 28 | 29 | public void setPullable(boolean pullable) { 30 | this.pullable = pullable; 31 | } 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUIHolder.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.inventory.Inventory; 4 | import org.bukkit.inventory.InventoryHolder; 5 | 6 | public class GUIHolder implements InventoryHolder { 7 | 8 | private final Inventory inventory; 9 | private final GUI gui; 10 | 11 | public GUIHolder(GUI gui, Inventory inventory) { 12 | this.inventory = inventory; 13 | this.gui = gui; 14 | } 15 | 16 | @Override 17 | public Inventory getInventory() { 18 | return inventory; 19 | } 20 | 21 | public GUI getGui() { 22 | return gui; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/GUISettings.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.inventory.ItemStack; 5 | import pl.socketbyte.opengui.event.EnteredItemResponse; 6 | import pl.socketbyte.opengui.event.NotEnterableItemResponse; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | public class GUISettings { 12 | 13 | private boolean canEnterItems; 14 | private boolean canDrag; 15 | private final List enterableItems = new ArrayList<>(); 16 | private NotEnterableItemResponse notEnterableItemResponse; 17 | private EnteredItemResponse enteredItemResponse; 18 | 19 | public void addEnterableItem(Material material) { 20 | this.enterableItems.add(new ItemStack(material)); 21 | } 22 | 23 | public void addEnterableItem(Material material, short data) { 24 | this.enterableItems.add(new ItemStack(material, 1, data)); 25 | } 26 | 27 | public void addEnterableItem(Material material, int data) { 28 | this.enterableItems.add(new ItemStack(material, 1, (short) data)); 29 | } 30 | 31 | public boolean isCanEnterItems() { 32 | return canEnterItems; 33 | } 34 | 35 | public void setCanEnterItems(boolean canEnterItems) { 36 | this.canEnterItems = canEnterItems; 37 | } 38 | 39 | public boolean isCanDrag() { 40 | return canDrag; 41 | } 42 | 43 | public void setCanDrag(boolean canDrag) { 44 | this.canDrag = canDrag; 45 | } 46 | 47 | public List getEnterableItems() { 48 | return enterableItems; 49 | } 50 | 51 | public NotEnterableItemResponse getNotEnterableItemResponse() { 52 | return notEnterableItemResponse; 53 | } 54 | 55 | public void setNotEnterableItemResponse(NotEnterableItemResponse notEnterableItemResponse) { 56 | this.notEnterableItemResponse = notEnterableItemResponse; 57 | } 58 | 59 | public EnteredItemResponse getEnteredItemResponse() { 60 | return enteredItemResponse; 61 | } 62 | 63 | public void setEnteredItemResponse(EnteredItemResponse enteredItemResponse) { 64 | this.enteredItemResponse = enteredItemResponse; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/ItemBuilder.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.enchantments.Enchantment; 5 | import org.bukkit.inventory.ItemStack; 6 | import org.bukkit.inventory.meta.ItemMeta; 7 | 8 | import java.util.Arrays; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | public class ItemBuilder { 13 | 14 | private ItemStack item; 15 | private ItemMeta meta; 16 | 17 | public ItemBuilder(Material material, int amount) { 18 | setItem(material, amount); 19 | } 20 | 21 | public ItemBuilder(Material material) { 22 | setItem(material, 1); 23 | } 24 | 25 | public ItemBuilder() { 26 | setItem(Material.DIRT, 1); 27 | } 28 | 29 | public ItemBuilder(ItemStack itemStack) { 30 | setItem(itemStack); 31 | } 32 | 33 | public ItemBuilder(Material material, int amount, int data) { 34 | setItem(material, amount, (short)data); 35 | } 36 | 37 | public ItemBuilder(Material material, int amount, short data) { 38 | setItem(material, amount, data); 39 | } 40 | 41 | public ItemBuilder setItem(ItemStack itemStack) { 42 | item = itemStack; 43 | meta = item.getItemMeta(); 44 | return this; 45 | } 46 | 47 | public ItemBuilder setItem(Material material, int amount, short data) { 48 | item = new ItemStack(material, amount, data); 49 | meta = item.getItemMeta(); 50 | return this; 51 | } 52 | 53 | public ItemBuilder setItem(Material material, int amount) { 54 | item = new ItemStack(material, amount); 55 | meta = item.getItemMeta(); 56 | return this; 57 | } 58 | 59 | public ItemBuilder setName(String name) { 60 | meta.setDisplayName(ColorUtil.fixColor(name)); 61 | update(); 62 | return this; 63 | } 64 | 65 | public ItemBuilder setLore(List lore) { 66 | meta.setLore(ColorUtil.fixColor(lore)); 67 | update(); 68 | return this; 69 | } 70 | 71 | public ItemBuilder setLore(String... lore) { 72 | meta.setLore(Arrays.asList(ColorUtil.fixColor(lore))); 73 | update(); 74 | return this; 75 | } 76 | 77 | public ItemBuilder setEnchantments(List enchantments) { 78 | for (ItemEnchantment enchantment : enchantments) 79 | meta.addEnchant(enchantment.getEnchantment(), enchantment.getLevel(), enchantment.isUnsafe()); 80 | update(); 81 | return this; 82 | } 83 | 84 | public ItemBuilder setEnchantments(Map enchantments) { 85 | for (Map.Entry entry : enchantments.entrySet()) 86 | meta.addEnchant(entry.getKey(), entry.getValue(), true); 87 | update(); 88 | return this; 89 | } 90 | 91 | public ItemBuilder update() { 92 | item.setItemMeta(meta); 93 | return this; 94 | } 95 | 96 | public ItemStack getItem() { 97 | return item; 98 | } 99 | 100 | public ItemMeta getMeta() { 101 | return meta; 102 | } 103 | 104 | } 105 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/ItemEnchantment.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.enchantments.Enchantment; 4 | 5 | public class ItemEnchantment { 6 | 7 | private Enchantment enchantment; 8 | private int level; 9 | private boolean unsafe; 10 | 11 | public ItemEnchantment(Enchantment enchantment, int level, boolean unsafe) { 12 | this.enchantment = enchantment; 13 | this.level = level; 14 | this.unsafe = unsafe; 15 | } 16 | 17 | public ItemEnchantment(Enchantment enchantment, int level) { 18 | this.enchantment = enchantment; 19 | this.level = level; 20 | this.unsafe = true; 21 | } 22 | 23 | public Enchantment getEnchantment() { 24 | return enchantment; 25 | } 26 | 27 | public void setEnchantment(Enchantment enchantment) { 28 | this.enchantment = enchantment; 29 | } 30 | 31 | public int getLevel() { 32 | return level; 33 | } 34 | 35 | public void setLevel(int level) { 36 | this.level = level; 37 | } 38 | 39 | public boolean isUnsafe() { 40 | return unsafe; 41 | } 42 | 43 | public void setUnsafe(boolean unsafe) { 44 | this.unsafe = unsafe; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/ItemPack.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import pl.socketbyte.opengui.event.ElementResponse; 4 | 5 | public class ItemPack { 6 | 7 | private int slot; 8 | private ItemBuilder itemBuilder; 9 | private ElementResponse elementResponse; 10 | 11 | public ItemPack(int slot, ItemBuilder itemBuilder) { 12 | this.itemBuilder = itemBuilder; 13 | this.slot = slot; 14 | } 15 | 16 | public ItemPack(int slot, ItemBuilder itemBuilder, ElementResponse elementResponse) { 17 | this.itemBuilder = itemBuilder; 18 | this.slot = slot; 19 | this.elementResponse = elementResponse; 20 | } 21 | 22 | public ItemPack(ItemBuilder itemBuilder) { 23 | this.itemBuilder = itemBuilder; 24 | } 25 | 26 | public ItemPack(ItemBuilder itemBuilder, ElementResponse elementResponse) { 27 | this.itemBuilder = itemBuilder; 28 | this.elementResponse = elementResponse; 29 | } 30 | 31 | public int getSlot() { 32 | return slot; 33 | } 34 | 35 | public void setSlot(int slot) { 36 | this.slot = slot; 37 | } 38 | 39 | public ItemBuilder getItemBuilder() { 40 | return itemBuilder; 41 | } 42 | 43 | public void setItemBuilder(ItemBuilder itemBuilder) { 44 | this.itemBuilder = itemBuilder; 45 | } 46 | 47 | public ElementResponse getElementResponse() { 48 | return elementResponse; 49 | } 50 | 51 | public void setElementResponse(ElementResponse elementResponse) { 52 | this.elementResponse = elementResponse; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/OpenGUI.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.Bukkit; 4 | import org.bukkit.event.Listener; 5 | import org.bukkit.plugin.Plugin; 6 | import org.bukkit.plugin.PluginManager; 7 | import org.bukkit.plugin.java.JavaPlugin; 8 | 9 | import java.util.HashMap; 10 | import java.util.Map; 11 | 12 | public enum OpenGUI implements Listener { 13 | INSTANCE; 14 | 15 | private Plugin instance; 16 | 17 | private Map guiMap = new HashMap<>(); 18 | 19 | public Map getGUIs() { 20 | return guiMap; 21 | } 22 | 23 | public GUIExtender getGUI(int id) { 24 | return guiMap.get(id); 25 | } 26 | 27 | public void register(JavaPlugin instance) { 28 | PluginManager pm = Bukkit.getPluginManager(); 29 | Plugin plugin = null; 30 | for (Plugin bukkitPlugin : pm.getPlugins()) { 31 | if (bukkitPlugin.equals(instance)) { 32 | plugin = bukkitPlugin; 33 | break; 34 | } 35 | } 36 | this.instance = plugin; 37 | } 38 | 39 | public Plugin getInstance() { 40 | return instance; 41 | } 42 | 43 | public Map getGuiMap() { 44 | return guiMap; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/Rows.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | public enum Rows { 4 | 5 | ONE(9), 6 | TWO(18), 7 | THREE(27), 8 | FOUR(36), 9 | FIVE(45), 10 | SIX(54); 11 | 12 | private int slots; 13 | 14 | Rows(int slots) { 15 | this.slots = slots; 16 | } 17 | 18 | public int getSlots() { 19 | return slots; 20 | } 21 | 22 | public void setSlots(int slots) { 23 | this.slots = slots; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/SimpleGUI.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui; 2 | 3 | import org.bukkit.event.inventory.InventoryCloseEvent; 4 | import org.bukkit.event.inventory.InventoryOpenEvent; 5 | 6 | public class SimpleGUI extends GUIExtender { 7 | public SimpleGUI(GUI gui) { 8 | super(gui); 9 | } 10 | 11 | @Override 12 | public void onOpen(InventoryOpenEvent event) { 13 | } 14 | 15 | @Override 16 | public void onClose(InventoryCloseEvent event) { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/event/ElementResponse.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.event; 2 | 3 | import org.bukkit.event.inventory.InventoryClickEvent; 4 | 5 | public interface ElementResponse { 6 | 7 | void onClick(InventoryClickEvent event); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/event/EnteredItemResponse.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.event; 2 | 3 | import org.bukkit.event.inventory.InventoryClickEvent; 4 | 5 | public interface EnteredItemResponse { 6 | 7 | void event(InventoryClickEvent event); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/event/NotEnterableItemResponse.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.event; 2 | 3 | import org.bukkit.event.inventory.InventoryClickEvent; 4 | 5 | public interface NotEnterableItemResponse { 6 | 7 | void event(InventoryClickEvent event); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/event/SerializedElementResponse.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.event; 2 | 3 | import org.bukkit.event.inventory.InventoryClickEvent; 4 | 5 | public interface SerializedElementResponse { 6 | 7 | void onClick(InventoryClickEvent event, String action); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/event/WindowResponse.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.event; 2 | 3 | import org.bukkit.event.inventory.InventoryCloseEvent; 4 | import org.bukkit.event.inventory.InventoryOpenEvent; 5 | 6 | public interface WindowResponse { 7 | 8 | void onOpen(InventoryOpenEvent event); 9 | void onClose(InventoryCloseEvent event); 10 | 11 | } -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/serializable/ItemSection.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.serializable; 2 | 3 | import org.bukkit.configuration.serialization.ConfigurationSerialization; 4 | 5 | import java.util.LinkedHashMap; 6 | import java.util.Map; 7 | 8 | public class ItemSection implements Serializable { 9 | 10 | private int slot; 11 | private SerializableItemBuilder itemBuilder; 12 | 13 | public ItemSection() { 14 | 15 | } 16 | 17 | public ItemSection(int slot, SerializableItemBuilder builder) { 18 | this.slot = slot; 19 | this.itemBuilder = builder; 20 | } 21 | 22 | public ItemSection(Map data) { 23 | this.slot = (int) data.get("slot"); 24 | this.itemBuilder = (SerializableItemBuilder) data.get("item"); 25 | } 26 | 27 | @Override 28 | public void register() { 29 | ConfigurationSerialization.registerClass(this.getClass()); 30 | } 31 | 32 | @Override 33 | public Map serialize() { 34 | Map data = new LinkedHashMap<>(); 35 | data.put("slot", slot); 36 | data.put("item", itemBuilder.serialize()); 37 | return data; 38 | } 39 | 40 | public int getSlot() { 41 | return slot; 42 | } 43 | 44 | public SerializableItemBuilder getItemBuilder() { 45 | return itemBuilder; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/serializable/Serializable.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.serializable; 2 | 3 | import org.bukkit.configuration.serialization.ConfigurationSerializable; 4 | 5 | public interface Serializable extends ConfigurationSerializable { 6 | 7 | void register(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/serializable/SerializableGUI.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.serializable; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.configuration.serialization.ConfigurationSerialization; 5 | import org.bukkit.inventory.ItemStack; 6 | import pl.socketbyte.opengui.GUI; 7 | import pl.socketbyte.opengui.ItemBuilder; 8 | 9 | import java.util.*; 10 | 11 | @SuppressWarnings("unchecked") 12 | public class SerializableGUI extends GUI implements Serializable { 13 | 14 | private final Map actions = new HashMap<>(); 15 | 16 | public SerializableGUI(String title) { 17 | super(null, title); 18 | } 19 | 20 | public SerializableGUI(Map data) { 21 | super(null, (String) data.get("title")); 22 | 23 | List itemSections = (List) data.get("inventory"); 24 | 25 | for (ItemSection section : itemSections) 26 | setItem(section.getSlot(), section.getItemBuilder()); 27 | } 28 | 29 | public String getActionFor(int slot) { 30 | return actions.get(slot); 31 | } 32 | 33 | public boolean hasAction(int slot) { 34 | return actions.containsKey(slot); 35 | } 36 | 37 | public void addAction(int slot, String action) { 38 | this.actions.put(slot, action); 39 | } 40 | 41 | @Override 42 | public void register() { 43 | ConfigurationSerialization.registerClass(this.getClass()); 44 | } 45 | 46 | @Override 47 | public Map serialize() { 48 | Map data = new LinkedHashMap<>(); 49 | data.put("title", getTitle()); 50 | data.put("actions", actions); 51 | 52 | List itemSections = new ArrayList<>(); 53 | int slot = 0; 54 | for (ItemStack itemStack : getInventory().getContents()) { 55 | if (itemStack == null || itemStack.getType().equals(Material.AIR)) 56 | continue; 57 | itemSections.add(new ItemSection(slot, new SerializableItemBuilder(new ItemBuilder(itemStack)))); 58 | slot++; 59 | } 60 | List> itemSectionsSerialized = new ArrayList<>(); 61 | for (ItemSection section : itemSections) { 62 | itemSectionsSerialized.add(section.serialize()); 63 | } 64 | 65 | data.put("inventory", itemSectionsSerialized); 66 | return data; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/serializable/SerializableItemBuilder.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.serializable; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.configuration.serialization.ConfigurationSerializable; 5 | import org.bukkit.enchantments.Enchantment; 6 | import org.bukkit.inventory.ItemStack; 7 | import org.bukkit.inventory.meta.ItemMeta; 8 | import pl.socketbyte.opengui.ColorUtil; 9 | import pl.socketbyte.opengui.ItemBuilder; 10 | 11 | import java.util.HashMap; 12 | import java.util.LinkedHashMap; 13 | import java.util.List; 14 | import java.util.Map; 15 | import java.util.stream.Collectors; 16 | 17 | @SuppressWarnings("unchecked") 18 | public class SerializableItemBuilder extends ItemBuilder implements ConfigurationSerializable { 19 | 20 | public SerializableItemBuilder(ItemBuilder itemBuilder) { 21 | super(itemBuilder.getItem()); 22 | } 23 | 24 | public SerializableItemBuilder(Map data) { 25 | Material material = Material.matchMaterial(data.get("material").toString()); 26 | int amount = (int) data.get("amount"); 27 | short durability = (short) data.get("durability"); 28 | String name = ColorUtil.fixColor(data.get("name").toString()); 29 | List lore = ColorUtil.fixColor((List) data.get("lore")); 30 | 31 | List enchantsList = (List) data.get("enchants"); 32 | Map enchants = new HashMap<>(); 33 | 34 | for(String enchant : enchantsList) { 35 | String[] part = enchant.split(":"); 36 | if (part.length < 1) 37 | continue; 38 | 39 | Enchantment ench = Enchantment.getByName(part[0]); 40 | if (ench == null) 41 | continue; 42 | 43 | int level; 44 | try { 45 | level = Integer.parseInt(part[1]); 46 | } 47 | catch (NumberFormatException ex) { 48 | continue; 49 | } 50 | enchants.put(ench, level); 51 | } 52 | 53 | setItem(material, amount, durability); 54 | setEnchantments(enchants); 55 | setLore(lore); 56 | setName(name); 57 | } 58 | 59 | @Override 60 | public Map serialize() { 61 | ItemStack item = getItem(); 62 | ItemMeta meta = getMeta(); 63 | 64 | Map data = new LinkedHashMap<>(); 65 | data.put("material", item.getType().toString()); 66 | data.put("amount", item.getAmount()); 67 | data.put("durability", item.getDurability()); 68 | data.put("name", meta.getDisplayName() == null ? null 69 | : ColorUtil.fixColor(meta.getDisplayName())); 70 | data.put("lore", meta.getLore()); 71 | data.put("enchants", meta.getEnchants() 72 | .keySet() 73 | .stream() 74 | .map(enchant -> enchant.getName() + ":" + meta.getEnchantLevel(enchant)) 75 | .collect(Collectors.toList())); 76 | return data; 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/main/java/pl/socketbyte/opengui/serializable/SerializableSimpleGUI.java: -------------------------------------------------------------------------------- 1 | package pl.socketbyte.opengui.serializable; 2 | 3 | import org.bukkit.Material; 4 | import org.bukkit.configuration.serialization.ConfigurationSerialization; 5 | import org.bukkit.inventory.ItemStack; 6 | import pl.socketbyte.opengui.SimpleGUI; 7 | 8 | import java.util.ArrayList; 9 | import java.util.LinkedHashMap; 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | @SuppressWarnings("unchecked") 14 | public class SerializableSimpleGUI extends SimpleGUI implements Serializable { 15 | public SerializableSimpleGUI(SerializableGUI gui) { 16 | super(gui); 17 | } 18 | 19 | public SerializableSimpleGUI(Map data) { 20 | super((SerializableGUI) data.get("gui")); 21 | 22 | getGuiSettings().setCanDrag((Boolean) data.get("canDrag")); 23 | getGuiSettings().setCanEnterItems((Boolean) data.get("canEnterItems")); 24 | 25 | List enterableMaterials = (List) data.get("enterableItems"); 26 | for (String mat : enterableMaterials) 27 | getGuiSettings().addEnterableItem(Material.matchMaterial(mat)); 28 | } 29 | 30 | public String getActionFor(int slot) { 31 | return ((SerializableGUI) getGui()).getActionFor(slot); 32 | } 33 | 34 | public boolean hasAction(int slot) { 35 | return ((SerializableGUI) getGui()).hasAction(slot); 36 | } 37 | 38 | @Override 39 | public void register() { 40 | ConfigurationSerialization.registerClass(this.getClass()); 41 | } 42 | 43 | @Override 44 | public Map serialize() { 45 | Map data = new LinkedHashMap<>(); 46 | data.put("canDrag", getGuiSettings().isCanDrag()); 47 | data.put("canEnterItems", getGuiSettings().isCanEnterItems()); 48 | List enterableItems = new ArrayList<>(); 49 | for (ItemStack itemStack : getGuiSettings().getEnterableItems()) 50 | enterableItems.add(itemStack.getType().name()); 51 | data.put("enterableItems", enterableItems); 52 | data.put("gui", ((SerializableGUI) getGui()).serialize()); 53 | return data; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ColorUtil_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:22:40 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | import java.util.Locale; 16 | 17 | import static org.evosuite.runtime.EvoAssertions.verifyException; 18 | import static org.junit.Assert.*; 19 | 20 | @RunWith(EvoRunner.class) 21 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 22 | public class ColorUtil_ESTest extends ColorUtil_ESTest_scaffolding { 23 | 24 | @Test(timeout = 4000) 25 | public void test0() throws Throwable { 26 | String[] stringArray0 = Locale.getISOCountries(); 27 | String[] stringArray1 = ColorUtil.fixColor(stringArray0); 28 | assertNotSame(stringArray1, stringArray0); 29 | } 30 | 31 | @Test(timeout = 4000) 32 | public void test1() throws Throwable { 33 | String string0 = ColorUtil.fixColor("=X6tB!hyl"); 34 | assertEquals("=X6tB!hyl", string0); 35 | } 36 | 37 | @Test(timeout = 4000) 38 | public void test2() throws Throwable { 39 | String string0 = ColorUtil.fixColor(""); 40 | assertEquals("", string0); 41 | } 42 | 43 | @Test(timeout = 4000) 44 | public void test3() throws Throwable { 45 | // Undeclared exception! 46 | try { 47 | ColorUtil.fixColor((List) null); 48 | fail("Expecting exception: NullPointerException"); 49 | 50 | } catch (NullPointerException e) { 51 | // 52 | // no message in exception (getMessage() returned null) 53 | // 54 | verifyException("pl.socketbyte.opengui.ColorUtil", e); 55 | } 56 | } 57 | 58 | @Test(timeout = 4000) 59 | public void test4() throws Throwable { 60 | // Undeclared exception! 61 | try { 62 | ColorUtil.fixColor((String) null); 63 | fail("Expecting exception: NullPointerException"); 64 | 65 | } catch (NullPointerException e) { 66 | // 67 | // no message in exception (getMessage() returned null) 68 | // 69 | verifyException("org.bukkit.ChatColor", e); 70 | } 71 | } 72 | 73 | @Test(timeout = 4000) 74 | public void test5() throws Throwable { 75 | String[] stringArray0 = new String[1]; 76 | // Undeclared exception! 77 | try { 78 | ColorUtil.fixColor(stringArray0); 79 | fail("Expecting exception: NullPointerException"); 80 | 81 | } catch (NullPointerException e) { 82 | // 83 | // no message in exception (getMessage() returned null) 84 | // 85 | verifyException("org.bukkit.ChatColor", e); 86 | } 87 | } 88 | 89 | @Test(timeout = 4000) 90 | public void test6() throws Throwable { 91 | String[] stringArray0 = new String[0]; 92 | String[] stringArray1 = ColorUtil.fixColor(stringArray0); 93 | assertNotSame(stringArray1, stringArray0); 94 | } 95 | 96 | @Test(timeout = 4000) 97 | public void test7() throws Throwable { 98 | ColorUtil colorUtil0 = new ColorUtil(); 99 | } 100 | 101 | @Test(timeout = 4000) 102 | public void test8() throws Throwable { 103 | ArrayList arrayList0 = new ArrayList(); 104 | arrayList0.add(""); 105 | List list0 = ColorUtil.fixColor(arrayList0); 106 | assertEquals(1, list0.size()); 107 | } 108 | 109 | @Test(timeout = 4000) 110 | public void test9() throws Throwable { 111 | ArrayList arrayList0 = new ArrayList(); 112 | List list0 = ColorUtil.fixColor(arrayList0); 113 | assertEquals(0, list0.size()); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ColorUtil_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:22:40 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class ColorUtil_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.ColorUtil"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ColorUtil_ESTest_scaffolding.class.getClassLoader(), 58 | "com.google.common.base.Joiner$1", 59 | "com.google.common.base.Joiner$2", 60 | "com.google.common.collect.Multiset", 61 | "org.bukkit.ChatColor$19", 62 | "pl.socketbyte.opengui.ColorUtil", 63 | "org.bukkit.ChatColor$18", 64 | "com.google.common.collect.ImmutableEnumMap", 65 | "org.bukkit.ChatColor$17", 66 | "org.bukkit.ChatColor$16", 67 | "com.google.common.collect.Collections2", 68 | "org.bukkit.ChatColor$15", 69 | "org.bukkit.ChatColor$14", 70 | "org.bukkit.ChatColor$13", 71 | "org.bukkit.ChatColor$12", 72 | "org.bukkit.ChatColor$22", 73 | "org.bukkit.ChatColor$21", 74 | "org.bukkit.ChatColor$20", 75 | "com.google.common.base.Converter", 76 | "org.bukkit.ChatColor$6", 77 | "org.bukkit.ChatColor$5", 78 | "com.google.common.collect.BiMap", 79 | "org.bukkit.ChatColor$4", 80 | "com.google.common.collect.Maps$6", 81 | "org.bukkit.ChatColor$3", 82 | "com.google.common.base.Function", 83 | "org.bukkit.ChatColor$2", 84 | "org.bukkit.ChatColor$1", 85 | "com.google.common.collect.Maps$BiMapConverter", 86 | "com.google.common.collect.ImmutableMap", 87 | "com.google.common.base.Joiner$MapJoiner", 88 | "org.bukkit.ChatColor$9", 89 | "com.google.common.collect.Maps", 90 | "org.bukkit.ChatColor$8", 91 | "com.google.common.collect.SortedMapDifference", 92 | "org.bukkit.ChatColor$7", 93 | "org.bukkit.ChatColor$11", 94 | "org.bukkit.ChatColor$10", 95 | "com.google.common.collect.MapDifference", 96 | "com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap", 97 | "com.google.common.collect.Maps$EntryTransformer", 98 | "org.bukkit.ChatColor", 99 | "com.google.common.base.Preconditions", 100 | "com.google.common.collect.UnmodifiableIterator", 101 | "com.google.common.base.Joiner" 102 | ); 103 | } 104 | 105 | private static void resetClasses() { 106 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ColorUtil_ESTest_scaffolding.class.getClassLoader()); 107 | 108 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 109 | "org.bukkit.ChatColor$1", 110 | "org.bukkit.ChatColor$2", 111 | "org.bukkit.ChatColor$3", 112 | "org.bukkit.ChatColor$4", 113 | "org.bukkit.ChatColor$5", 114 | "org.bukkit.ChatColor$6", 115 | "org.bukkit.ChatColor$7", 116 | "org.bukkit.ChatColor$8", 117 | "org.bukkit.ChatColor$9", 118 | "org.bukkit.ChatColor$10", 119 | "org.bukkit.ChatColor$11", 120 | "org.bukkit.ChatColor$12", 121 | "org.bukkit.ChatColor$13", 122 | "org.bukkit.ChatColor$14", 123 | "org.bukkit.ChatColor$15", 124 | "org.bukkit.ChatColor$16", 125 | "org.bukkit.ChatColor$17", 126 | "org.bukkit.ChatColor$18", 127 | "org.bukkit.ChatColor$19", 128 | "org.bukkit.ChatColor$20", 129 | "org.bukkit.ChatColor$21", 130 | "org.bukkit.ChatColor$22", 131 | "com.google.common.collect.Collections2", 132 | "com.google.common.collect.Maps", 133 | "org.bukkit.ChatColor", 134 | "com.google.common.hash.BloomFilter", 135 | "com.google.common.hash.BloomFilterStrategies$1", 136 | "com.google.common.hash.BloomFilterStrategies$2", 137 | "com.google.common.hash.BloomFilterStrategies", 138 | "com.google.common.collect.Ordering", 139 | "com.google.common.collect.Range$RangeLexOrdering", 140 | "com.google.common.collect.Cut", 141 | "com.google.common.collect.Cut$BelowAll", 142 | "com.google.common.collect.Cut$AboveAll", 143 | "com.google.common.collect.Range", 144 | "com.google.common.collect.Cut$AboveValue", 145 | "com.google.common.math.LongMath", 146 | "com.google.common.math.LongMath$1", 147 | "com.google.common.primitives.Ints", 148 | "com.google.common.collect.Cut$BelowValue", 149 | "com.google.common.hash.Hashing", 150 | "com.google.common.hash.Murmur3_128HashFunction", 151 | "com.google.common.hash.Hashing$Murmur3_128Holder", 152 | "com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher", 153 | "com.google.common.hash.HashCode", 154 | "com.google.common.hash.HashCode$BytesHashCode", 155 | "com.google.common.primitives.Longs" 156 | ); 157 | } 158 | 159 | @Before 160 | public void initTestCase() { 161 | threadStopper.storeCurrentThreads(); 162 | threadStopper.startRecordingTime(); 163 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 164 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 165 | setSystemProperties(); 166 | org.evosuite.runtime.GuiSupport.setHeadless(); 167 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 168 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 169 | } 170 | 171 | @After 172 | public void doneWithTestCase() { 173 | threadStopper.killAndJoinClientThreads(); 174 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 175 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 176 | resetClasses(); 177 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 178 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 179 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 180 | } 181 | } 182 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/FinalItemJob_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:24:00 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import static org.junit.Assert.assertEquals; 14 | 15 | @RunWith(EvoRunner.class) 16 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 17 | public class FinalItemJob_ESTest extends FinalItemJob_ESTest_scaffolding { 18 | 19 | @Test(timeout = 4000) 20 | public void test0() throws Throwable { 21 | FinalItemJob finalItemJob0 = new FinalItemJob(0, null); 22 | int int0 = finalItemJob0.getSlot(); 23 | assertEquals(0, int0); 24 | } 25 | 26 | @Test(timeout = 4000) 27 | public void test1() throws Throwable { 28 | FinalItemJob finalItemJob0 = new FinalItemJob(3083, null); 29 | int int0 = finalItemJob0.getSlot(); 30 | assertEquals(3083, int0); 31 | } 32 | 33 | @Test(timeout = 4000) 34 | public void test2() throws Throwable { 35 | FinalItemJob finalItemJob0 = new FinalItemJob(null); 36 | int int0 = finalItemJob0.getSlot(); 37 | assertEquals((-1), int0); 38 | } 39 | 40 | @Test(timeout = 4000) 41 | public void test3() throws Throwable { 42 | FinalItemJob finalItemJob0 = new FinalItemJob(0, null); 43 | finalItemJob0.getGuiExtenderItem(); 44 | assertEquals(0, finalItemJob0.getSlot()); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/FinalItemJob_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:24:00 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class FinalItemJob_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.FinalItemJob"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(FinalItemJob_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.event.HandlerList", 59 | "pl.socketbyte.opengui.GUIExtenderItem", 60 | "org.bukkit.entity.Damageable", 61 | "org.bukkit.event.Cancellable", 62 | "org.bukkit.event.inventory.InventoryEvent", 63 | "org.bukkit.entity.AnimalTamer", 64 | "org.bukkit.permissions.ServerOperator", 65 | "org.bukkit.event.Event", 66 | "org.bukkit.entity.Player", 67 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 68 | "pl.socketbyte.opengui.FinalItemJob", 69 | "pl.socketbyte.opengui.event.ElementResponse", 70 | "pl.socketbyte.opengui.ItemBuilder", 71 | "org.bukkit.projectiles.ProjectileSource", 72 | "org.bukkit.entity.HumanEntity", 73 | "org.bukkit.attribute.Attributable", 74 | "org.bukkit.command.CommandSender", 75 | "org.bukkit.entity.Entity", 76 | "org.bukkit.permissions.Permissible", 77 | "org.bukkit.event.inventory.InventoryInteractEvent", 78 | "org.bukkit.event.inventory.InventoryClickEvent", 79 | "org.bukkit.entity.LivingEntity", 80 | "org.bukkit.OfflinePlayer", 81 | "org.bukkit.inventory.InventoryHolder", 82 | "org.bukkit.Nameable", 83 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 84 | "org.bukkit.conversations.Conversable", 85 | "org.bukkit.event.EventPriority", 86 | "org.bukkit.metadata.Metadatable" 87 | ); 88 | } 89 | 90 | private static void resetClasses() { 91 | } 92 | 93 | @Before 94 | public void initTestCase() { 95 | threadStopper.storeCurrentThreads(); 96 | threadStopper.startRecordingTime(); 97 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 98 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 99 | setSystemProperties(); 100 | org.evosuite.runtime.GuiSupport.setHeadless(); 101 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 102 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 103 | } 104 | 105 | @After 106 | public void doneWithTestCase() { 107 | threadStopper.killAndJoinClientThreads(); 108 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 109 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 110 | resetClasses(); 111 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 112 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 113 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIElement_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:24:17 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | import pl.socketbyte.opengui.event.ElementResponse; 13 | 14 | import static org.evosuite.runtime.EvoAssertions.verifyException; 15 | import static org.junit.Assert.*; 16 | 17 | @RunWith(EvoRunner.class) 18 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 19 | public class GUIElement_ESTest extends GUIElement_ESTest_scaffolding { 20 | 21 | @Test(timeout = 4000) 22 | public void test00() throws Throwable { 23 | GUIElement gUIElement0 = new GUIElement(459); 24 | int int0 = gUIElement0.getSlot(); 25 | assertEquals(459, int0); 26 | } 27 | 28 | @Test(timeout = 4000) 29 | public void test01() throws Throwable { 30 | GUIElement gUIElement0 = new GUIElement((-48)); 31 | int int0 = gUIElement0.getSlot(); 32 | assertEquals((-48), int0); 33 | } 34 | 35 | @Test(timeout = 4000) 36 | public void test02() throws Throwable { 37 | GUIElement gUIElement0 = new GUIElement((-48)); 38 | // Undeclared exception! 39 | try { 40 | gUIElement0.addElementResponse((-48), null); 41 | fail("Expecting exception: NullPointerException"); 42 | 43 | } catch (NullPointerException e) { 44 | // 45 | // no message in exception (getMessage() returned null) 46 | // 47 | verifyException("pl.socketbyte.opengui.GUIElement", e); 48 | } 49 | } 50 | 51 | @Test(timeout = 4000) 52 | public void test03() throws Throwable { 53 | GUIElement gUIElement0 = new GUIElement(825, true); 54 | boolean boolean0 = gUIElement0.isPullable(); 55 | assertEquals(825, gUIElement0.getSlot()); 56 | assertTrue(boolean0); 57 | } 58 | 59 | @Test(timeout = 4000) 60 | public void test04() throws Throwable { 61 | GUIElement gUIElement0 = new GUIElement(0); 62 | gUIElement0.isPullable(); 63 | assertEquals(0, gUIElement0.getSlot()); 64 | } 65 | 66 | @Test(timeout = 4000) 67 | public void test05() throws Throwable { 68 | GUIElement gUIElement0 = new GUIElement(0); 69 | int int0 = gUIElement0.getSlot(); 70 | assertEquals(0, int0); 71 | } 72 | 73 | @Test(timeout = 4000) 74 | public void test06() throws Throwable { 75 | GUIElement gUIElement0 = new GUIElement(1536); 76 | String string0 = gUIElement0.toString(); 77 | assertEquals("[1536] 0", string0); 78 | } 79 | 80 | @Test(timeout = 4000) 81 | public void test07() throws Throwable { 82 | GUIElement gUIElement0 = new GUIElement(0); 83 | gUIElement0.getGuiExtenderItem(); 84 | assertEquals(0, gUIElement0.getSlot()); 85 | } 86 | 87 | @Test(timeout = 4000) 88 | public void test08() throws Throwable { 89 | GUIElement gUIElement0 = new GUIElement(459); 90 | gUIElement0.addElementResponse(1083, false, null); 91 | assertEquals(459, gUIElement0.getSlot()); 92 | assertFalse(gUIElement0.isPullable()); 93 | } 94 | 95 | @Test(timeout = 4000) 96 | public void test09() throws Throwable { 97 | GUIElement gUIElement0 = new GUIElement(0); 98 | gUIElement0.addElementResponse(0, (ElementResponse) null); 99 | assertEquals(0, gUIElement0.getSlot()); 100 | assertFalse(gUIElement0.isPullable()); 101 | } 102 | 103 | @Test(timeout = 4000) 104 | public void test10() throws Throwable { 105 | GUIElement gUIElement0 = new GUIElement(0); 106 | gUIElement0.getElementResponse(); 107 | assertEquals(0, gUIElement0.getSlot()); 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIElement_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:24:17 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class GUIElement_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.GUIElement"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(GUIElement_ESTest_scaffolding.class.getClassLoader(), 58 | "pl.socketbyte.opengui.GUIExtenderItem", 59 | "org.bukkit.event.Cancellable", 60 | "org.bukkit.entity.Damageable", 61 | "org.bukkit.event.inventory.InventoryEvent", 62 | "org.bukkit.entity.AnimalTamer", 63 | "org.bukkit.permissions.ServerOperator", 64 | "org.bukkit.event.Event", 65 | "org.bukkit.entity.Player", 66 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 67 | "pl.socketbyte.opengui.event.ElementResponse", 68 | "pl.socketbyte.opengui.ItemBuilder", 69 | "org.bukkit.projectiles.ProjectileSource", 70 | "org.bukkit.entity.HumanEntity", 71 | "org.bukkit.attribute.Attributable", 72 | "org.bukkit.command.CommandSender", 73 | "org.bukkit.entity.Entity", 74 | "org.bukkit.event.inventory.InventoryInteractEvent", 75 | "org.bukkit.permissions.Permissible", 76 | "org.bukkit.event.inventory.InventoryClickEvent", 77 | "org.bukkit.entity.LivingEntity", 78 | "org.bukkit.OfflinePlayer", 79 | "org.bukkit.inventory.InventoryHolder", 80 | "org.bukkit.Nameable", 81 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 82 | "org.bukkit.conversations.Conversable", 83 | "pl.socketbyte.opengui.GUIElement", 84 | "org.bukkit.metadata.Metadatable" 85 | ); 86 | } 87 | 88 | private static void resetClasses() { 89 | } 90 | 91 | @Before 92 | public void initTestCase() { 93 | threadStopper.storeCurrentThreads(); 94 | threadStopper.startRecordingTime(); 95 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 96 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 97 | setSystemProperties(); 98 | org.evosuite.runtime.GuiSupport.setHeadless(); 99 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 100 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 101 | } 102 | 103 | @After 104 | public void doneWithTestCase() { 105 | threadStopper.killAndJoinClientThreads(); 106 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 107 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 108 | resetClasses(); 109 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 110 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 111 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIExtenderItem_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:22:18 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | @RunWith(EvoRunner.class) 14 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 15 | public class GUIExtenderItem_ESTest extends GUIExtenderItem_ESTest_scaffolding { 16 | @Test 17 | public void notGeneratedAnyTest() { 18 | // EvoSuite did not generate any tests 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIExtenderItem_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:22:19 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.junit.After; 11 | import org.junit.Before; 12 | import org.junit.BeforeClass; 13 | 14 | @EvoSuiteClassExclude 15 | public class GUIExtenderItem_ESTest_scaffolding { 16 | 17 | @org.junit.Rule 18 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 19 | 20 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 21 | 22 | 23 | @BeforeClass 24 | public static void initEvoSuiteFramework() { 25 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.GUIExtenderItem"; 26 | org.evosuite.runtime.GuiSupport.initialize(); 27 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 28 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 29 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 30 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 31 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 32 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 33 | setSystemProperties(); 34 | initializeClasses(); 35 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 36 | } 37 | 38 | public static void setSystemProperties() { 39 | 40 | /*No java.lang.System property to set*/ 41 | } 42 | 43 | private static void initializeClasses() { 44 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(GUIExtenderItem_ESTest_scaffolding.class.getClassLoader(), 45 | "pl.socketbyte.opengui.GUIExtenderItem", 46 | "pl.socketbyte.opengui.event.ElementResponse" 47 | ); 48 | } 49 | 50 | private static void resetClasses() { 51 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(GUIExtenderItem_ESTest_scaffolding.class.getClassLoader()); 52 | 53 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 54 | "com.google.common.collect.Collections2", 55 | "com.google.common.collect.Maps", 56 | "org.bukkit.Material" 57 | ); 58 | } 59 | 60 | @Before 61 | public void initTestCase() { 62 | threadStopper.storeCurrentThreads(); 63 | threadStopper.startRecordingTime(); 64 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 65 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 66 | org.evosuite.runtime.GuiSupport.setHeadless(); 67 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 68 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 69 | } 70 | 71 | @After 72 | public void doneWithTestCase() { 73 | threadStopper.killAndJoinClientThreads(); 74 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 75 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 76 | resetClasses(); 77 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 78 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 79 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIExtender_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:37 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import static org.evosuite.runtime.EvoAssertions.verifyException; 14 | import static org.junit.Assert.fail; 15 | 16 | @RunWith(EvoRunner.class) 17 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 18 | public class GUIExtender_ESTest extends GUIExtender_ESTest_scaffolding { 19 | 20 | @Test(timeout = 4000) 21 | public void test0() throws Throwable { 22 | SimpleGUI simpleGUI0 = null; 23 | try { 24 | simpleGUI0 = new SimpleGUI(null); 25 | fail("Expecting exception: NullPointerException"); 26 | 27 | } catch (NullPointerException e) { 28 | // 29 | // no message in exception (getMessage() returned null) 30 | // 31 | verifyException("org.bukkit.Bukkit", e); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIExtender_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:37 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class GUIExtender_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.GUIExtender"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(GUIExtender_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.event.inventory.InventoryEvent", 59 | "org.bukkit.material.EnderChest", 60 | "org.bukkit.material.Ladder", 61 | "org.bukkit.ChatColor$19", 62 | "org.bukkit.ChatColor$18", 63 | "org.bukkit.event.Event", 64 | "org.bukkit.ChatColor$17", 65 | "com.google.common.collect.Collections2", 66 | "org.bukkit.ChatColor$16", 67 | "pl.socketbyte.opengui.GUIExtender", 68 | "org.bukkit.ChatColor$15", 69 | "org.bukkit.ChatColor$14", 70 | "org.bukkit.TreeSpecies", 71 | "org.bukkit.material.MaterialData", 72 | "org.bukkit.ChatColor$13", 73 | "com.google.common.collect.ImmutableSet$Indexed", 74 | "org.bukkit.ChatColor$12", 75 | "org.bukkit.ChatColor$22", 76 | "org.bukkit.ChatColor$21", 77 | "org.bukkit.material.Diode", 78 | "org.bukkit.ChatColor$20", 79 | "org.bukkit.boss.BarColor", 80 | "org.bukkit.material.SmoothBrick", 81 | "pl.socketbyte.opengui.event.ElementResponse", 82 | "org.bukkit.material.PistonExtensionMaterial", 83 | "org.bukkit.material.PressurePlate", 84 | "org.bukkit.material.Directional", 85 | "org.bukkit.projectiles.ProjectileSource", 86 | "org.bukkit.material.TrapDoor", 87 | "org.bukkit.material.Mushroom", 88 | "org.bukkit.material.Observer", 89 | "org.bukkit.material.Gate", 90 | "org.bukkit.entity.Entity", 91 | "com.google.common.collect.RegularImmutableMap", 92 | "com.google.common.base.Converter$IdentityConverter", 93 | "org.bukkit.event.inventory.InventoryDragEvent", 94 | "org.bukkit.advancement.Advancement", 95 | "org.bukkit.material.Hopper", 96 | "org.bukkit.command.TabExecutor", 97 | "org.bukkit.OfflinePlayer", 98 | "pl.socketbyte.opengui.SimpleGUI", 99 | "org.bukkit.ChatColor$11", 100 | "org.bukkit.ChatColor$10", 101 | "org.bukkit.inventory.InventoryView", 102 | "org.bukkit.BanList$Type", 103 | "com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap", 104 | "org.bukkit.material.LongGrass", 105 | "org.bukkit.material.Tripwire", 106 | "com.google.common.base.Predicate", 107 | "org.bukkit.event.inventory.InventoryOpenEvent", 108 | "org.bukkit.material.Banner", 109 | "org.bukkit.material.TripwireHook", 110 | "org.bukkit.material.Redstone", 111 | "org.bukkit.material.Step", 112 | "org.bukkit.material.Rails", 113 | "com.google.common.base.Joiner", 114 | "org.bukkit.Warning$WarningState", 115 | "org.bukkit.plugin.messaging.Messenger", 116 | "org.bukkit.scheduler.BukkitScheduler", 117 | "org.bukkit.enchantments.EnchantmentWrapper", 118 | "com.google.common.collect.Maps$BiMapConverter", 119 | "org.bukkit.plugin.PluginBase", 120 | "com.google.common.base.Joiner$MapJoiner", 121 | "com.google.common.base.Equivalence$Equals", 122 | "org.bukkit.util.CachedServerIcon", 123 | "org.bukkit.inventory.InventoryHolder", 124 | "org.bukkit.material.Skull", 125 | "org.bukkit.boss.BossBar", 126 | "org.bukkit.material.WoodenStep", 127 | "com.google.common.base.Preconditions", 128 | "org.bukkit.plugin.PluginManager", 129 | "org.bukkit.plugin.Plugin", 130 | "com.google.common.base.Joiner$1", 131 | "com.google.common.base.Joiner$2", 132 | "org.bukkit.material.Lever", 133 | "com.google.common.base.Converter$ConverterComposition", 134 | "org.bukkit.command.ConsoleCommandSender", 135 | "com.google.common.collect.AbstractNavigableMap", 136 | "com.google.common.collect.ImmutableEnumMap", 137 | "org.bukkit.CropState", 138 | "com.google.common.collect.ImmutableCollection", 139 | "org.bukkit.entity.Player", 140 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 141 | "org.bukkit.inventory.Merchant", 142 | "org.bukkit.CoalType", 143 | "org.bukkit.UnsafeValues", 144 | "org.bukkit.inventory.Recipe", 145 | "org.bukkit.material.PressureSensor", 146 | "com.google.common.collect.BiMap", 147 | "com.google.common.collect.ImmutableSet", 148 | "org.bukkit.inventory.ItemFactory", 149 | "org.bukkit.event.inventory.InventoryInteractEvent", 150 | "org.bukkit.GrassSpecies", 151 | "org.bukkit.BanList", 152 | "org.bukkit.material.Sapling", 153 | "org.bukkit.entity.LivingEntity", 154 | "org.bukkit.entity.EntityType", 155 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 156 | "org.bukkit.material.Crops", 157 | "com.google.common.base.Converter$ReverseConverter", 158 | "com.google.common.collect.Maps$IteratorBasedAbstractMap", 159 | "org.bukkit.command.Command", 160 | "com.google.common.collect.Maps$FilteredEntryBiMap", 161 | "org.bukkit.material.ExtendedRails", 162 | "org.bukkit.entity.Damageable", 163 | "org.bukkit.material.Wool", 164 | "com.google.common.base.Equivalence$Identity", 165 | "org.bukkit.material.DirectionalContainer", 166 | "org.bukkit.entity.AnimalTamer", 167 | "com.google.common.collect.Multiset", 168 | "org.bukkit.material.Bed", 169 | "pl.socketbyte.opengui.OpenGUI", 170 | "org.bukkit.WorldCreator", 171 | "org.bukkit.material.SimpleAttachableMaterialData", 172 | "org.bukkit.GameMode", 173 | "org.bukkit.event.inventory.DragType", 174 | "org.bukkit.material.Openable", 175 | "com.google.common.collect.Range$RangeLexOrdering", 176 | "org.bukkit.boss.BarStyle", 177 | "com.google.common.collect.ImmutableBiMapFauxverideShim", 178 | "org.bukkit.map.MapView", 179 | "com.google.common.collect.Maps$FilteredEntrySortedMap", 180 | "org.bukkit.material.Wood", 181 | "org.bukkit.material.Command", 182 | "net.md_5.bungee.api.ChatColor", 183 | "org.bukkit.ChatColor$6", 184 | "org.bukkit.ChatColor$5", 185 | "org.bukkit.ChatColor$4", 186 | "org.bukkit.ChatColor$3", 187 | "org.bukkit.ChatColor$2", 188 | "org.bukkit.scoreboard.ScoreboardManager", 189 | "org.bukkit.ChatColor$1", 190 | "org.bukkit.material.Dye", 191 | "org.bukkit.command.PluginIdentifiableCommand", 192 | "org.bukkit.ChatColor$9", 193 | "org.bukkit.ChatColor$8", 194 | "com.google.common.base.Converter$FunctionBasedConverter", 195 | "org.bukkit.ChatColor$7", 196 | "org.bukkit.plugin.RegisteredListener", 197 | "com.google.common.collect.Maps$EntryTransformer", 198 | "com.google.common.collect.Ordering", 199 | "org.bukkit.material.Dispenser", 200 | "org.bukkit.ChatColor", 201 | "com.google.common.base.FunctionalEquivalence", 202 | "org.bukkit.material.Button", 203 | "org.bukkit.command.TabCompleter", 204 | "org.bukkit.permissions.ServerOperator", 205 | "org.bukkit.material.Colorable", 206 | "org.bukkit.enchantments.EnchantmentTarget", 207 | "org.bukkit.World", 208 | "org.bukkit.inventory.InventoryView$Property", 209 | "org.bukkit.material.MonsterEggs", 210 | "org.bukkit.Material", 211 | "org.bukkit.command.CommandSender", 212 | "org.bukkit.material.types.MushroomBlockTexture", 213 | "com.google.common.collect.ImmutableMapKeySet", 214 | "org.bukkit.material.Pumpkin", 215 | "com.google.common.collect.Range", 216 | "org.bukkit.material.TexturedMaterial", 217 | "com.google.common.collect.SortedMapDifference", 218 | "org.bukkit.inventory.ItemStack", 219 | "org.bukkit.conversations.Conversable", 220 | "com.google.common.collect.Maps$AbstractFilteredMap", 221 | "pl.socketbyte.opengui.event.WindowResponse", 222 | "org.bukkit.boss.BarFlag", 223 | "org.bukkit.material.FlowerPot", 224 | "org.bukkit.event.HandlerList", 225 | "org.bukkit.plugin.PluginLoader", 226 | "com.google.common.collect.Maps$FilteredEntryMap", 227 | "org.bukkit.event.inventory.InventoryCloseEvent", 228 | "org.bukkit.Keyed", 229 | "org.bukkit.material.Cake", 230 | "org.bukkit.Server", 231 | "org.bukkit.plugin.ServicesManager", 232 | "org.bukkit.material.Attachable", 233 | "pl.socketbyte.opengui.GUI", 234 | "com.google.common.collect.Maps$Accumulator", 235 | "org.bukkit.material.PoweredRail", 236 | "org.bukkit.event.inventory.InventoryType$SlotType", 237 | "org.bukkit.material.NetherWarts", 238 | "org.bukkit.material.Sandstone", 239 | "org.bukkit.material.Stairs", 240 | "com.google.common.collect.MapDifference", 241 | "org.bukkit.material.CocoaPlant$CocoaPlantSize", 242 | "org.bukkit.event.EventPriority", 243 | "org.bukkit.material.Cauldron", 244 | "com.google.common.collect.UnmodifiableIterator", 245 | "org.bukkit.DyeColor", 246 | "com.google.common.collect.Maps$FilteredEntryNavigableMap", 247 | "org.bukkit.material.PistonBaseMaterial", 248 | "org.bukkit.material.Torch", 249 | "org.bukkit.enchantments.Enchantment", 250 | "org.bukkit.help.HelpMap", 251 | "org.bukkit.NetherWartsState", 252 | "org.bukkit.block.BlockFace", 253 | "org.bukkit.material.Chest", 254 | "org.bukkit.inventory.Inventory", 255 | "org.bukkit.material.FurnaceAndDispenser", 256 | "org.bukkit.material.Furnace", 257 | "org.bukkit.Bukkit", 258 | "com.google.common.base.Converter", 259 | "org.bukkit.attribute.Attributable", 260 | "com.google.common.collect.Maps$6", 261 | "org.bukkit.material.SpawnEgg", 262 | "com.google.common.base.Function", 263 | "com.google.common.collect.ImmutableMap", 264 | "org.bukkit.material.RedstoneTorch", 265 | "org.bukkit.event.inventory.InventoryClickEvent", 266 | "org.bukkit.command.PluginCommand", 267 | "org.bukkit.plugin.java.JavaPlugin", 268 | "org.bukkit.Nameable", 269 | "org.bukkit.material.RedstoneWire", 270 | "com.google.common.collect.Maps$ViewCachingAbstractMap", 271 | "org.bukkit.material.DetectorRail", 272 | "org.bukkit.command.CommandException", 273 | "com.google.common.collect.ImmutableMap$1", 274 | "org.bukkit.event.inventory.ClickType", 275 | "org.bukkit.Server$Spigot", 276 | "org.bukkit.material.Door", 277 | "org.bukkit.material.CocoaPlant", 278 | "org.bukkit.event.Cancellable", 279 | "org.bukkit.material.Leaves", 280 | "org.bukkit.material.Sign", 281 | "com.google.common.collect.ImmutableBiMap", 282 | "com.google.common.base.PairwiseEquivalence", 283 | "org.bukkit.material.Vine", 284 | "org.bukkit.event.Listener", 285 | "org.bukkit.entity.HumanEntity", 286 | "org.bukkit.generator.ChunkGenerator$ChunkData", 287 | "org.bukkit.event.inventory.InventoryAction", 288 | "org.bukkit.event.inventory.InventoryType", 289 | "org.bukkit.NamespacedKey", 290 | "com.google.common.base.Equivalence", 291 | "org.bukkit.permissions.Permissible", 292 | "org.bukkit.material.Tree", 293 | "org.bukkit.SandstoneType", 294 | "org.bukkit.command.CommandExecutor", 295 | "com.google.common.collect.Maps", 296 | "pl.socketbyte.opengui.GUISettings", 297 | "org.bukkit.material.Coal", 298 | "org.bukkit.metadata.Metadatable", 299 | "org.bukkit.material.Comparator" 300 | ); 301 | } 302 | 303 | private static void resetClasses() { 304 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(GUIExtender_ESTest_scaffolding.class.getClassLoader()); 305 | 306 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 307 | "org.bukkit.event.EventPriority", 308 | "pl.socketbyte.opengui.OpenGUI", 309 | "org.bukkit.Bukkit", 310 | "com.google.common.collect.Collections2", 311 | "com.google.common.collect.Maps", 312 | "org.bukkit.Material", 313 | "org.bukkit.ChatColor$1", 314 | "org.bukkit.ChatColor$2", 315 | "org.bukkit.ChatColor$3", 316 | "org.bukkit.ChatColor$4", 317 | "org.bukkit.ChatColor$5", 318 | "org.bukkit.ChatColor$6", 319 | "org.bukkit.ChatColor$7", 320 | "org.bukkit.ChatColor$8", 321 | "org.bukkit.ChatColor$9", 322 | "org.bukkit.ChatColor$10", 323 | "org.bukkit.ChatColor$11", 324 | "org.bukkit.ChatColor$12", 325 | "org.bukkit.ChatColor$13", 326 | "org.bukkit.ChatColor$14", 327 | "org.bukkit.ChatColor$15", 328 | "org.bukkit.ChatColor$16", 329 | "org.bukkit.ChatColor$17", 330 | "org.bukkit.ChatColor$18", 331 | "org.bukkit.ChatColor$19", 332 | "org.bukkit.ChatColor$20", 333 | "org.bukkit.ChatColor$21", 334 | "org.bukkit.ChatColor$22", 335 | "org.bukkit.ChatColor", 336 | "org.bukkit.inventory.InventoryView", 337 | "org.bukkit.event.HandlerList", 338 | "org.bukkit.event.inventory.InventoryEvent", 339 | "org.bukkit.event.inventory.InventoryOpenEvent", 340 | "org.bukkit.event.inventory.InventoryClickEvent", 341 | "org.bukkit.event.inventory.InventoryCloseEvent", 342 | "org.bukkit.event.inventory.InventoryDragEvent", 343 | "org.bukkit.enchantments.Enchantment" 344 | ); 345 | } 346 | 347 | @Before 348 | public void initTestCase() { 349 | threadStopper.storeCurrentThreads(); 350 | threadStopper.startRecordingTime(); 351 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 352 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 353 | setSystemProperties(); 354 | org.evosuite.runtime.GuiSupport.setHeadless(); 355 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 356 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 357 | } 358 | 359 | @After 360 | public void doneWithTestCase() { 361 | threadStopper.killAndJoinClientThreads(); 362 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 363 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 364 | resetClasses(); 365 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 366 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 367 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 368 | } 369 | } 370 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUIHolder_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:49 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.bukkit.inventory.Inventory; 9 | import org.evosuite.runtime.EvoRunner; 10 | import org.evosuite.runtime.EvoRunnerParameters; 11 | import org.junit.Test; 12 | import org.junit.runner.RunWith; 13 | 14 | import static org.junit.Assert.assertNull; 15 | 16 | @RunWith(EvoRunner.class) 17 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 18 | public class GUIHolder_ESTest extends GUIHolder_ESTest_scaffolding { 19 | 20 | @Test(timeout = 4000) 21 | public void test0() throws Throwable { 22 | GUIHolder gUIHolder0 = new GUIHolder(null, null); 23 | GUI gUI0 = gUIHolder0.getGui(); 24 | assertNull(gUI0); 25 | } 26 | 27 | @Test(timeout = 4000) 28 | public void test1() throws Throwable { 29 | GUIHolder gUIHolder0 = new GUIHolder(null, null); 30 | Inventory inventory0 = gUIHolder0.getInventory(); 31 | assertNull(inventory0); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUISettings_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:05 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import static org.junit.Assert.assertFalse; 14 | import static org.junit.Assert.assertTrue; 15 | 16 | @RunWith(EvoRunner.class) 17 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 18 | public class GUISettings_ESTest extends GUISettings_ESTest_scaffolding { 19 | 20 | @Test(timeout = 4000) 21 | public void test0() throws Throwable { 22 | GUISettings gUISettings0 = new GUISettings(); 23 | gUISettings0.setCanEnterItems(true); 24 | boolean boolean0 = gUISettings0.isCanEnterItems(); 25 | assertTrue(boolean0); 26 | } 27 | 28 | @Test(timeout = 4000) 29 | public void test1() throws Throwable { 30 | GUISettings gUISettings0 = new GUISettings(); 31 | gUISettings0.setCanDrag(true); 32 | boolean boolean0 = gUISettings0.isCanDrag(); 33 | assertTrue(boolean0); 34 | } 35 | 36 | @Test(timeout = 4000) 37 | public void test2() throws Throwable { 38 | GUISettings gUISettings0 = new GUISettings(); 39 | boolean boolean0 = gUISettings0.isCanDrag(); 40 | assertFalse(boolean0); 41 | } 42 | 43 | @Test(timeout = 4000) 44 | public void test3() throws Throwable { 45 | GUISettings gUISettings0 = new GUISettings(); 46 | boolean boolean0 = gUISettings0.isCanEnterItems(); 47 | assertFalse(boolean0); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUISettings_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:05 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class GUISettings_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.GUISettings"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(GUISettings_ESTest_scaffolding.class.getClassLoader(), 58 | "pl.socketbyte.opengui.GUISettings" 59 | ); 60 | } 61 | 62 | private static void resetClasses() { 63 | } 64 | 65 | @Before 66 | public void initTestCase() { 67 | threadStopper.storeCurrentThreads(); 68 | threadStopper.startRecordingTime(); 69 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 70 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 71 | setSystemProperties(); 72 | org.evosuite.runtime.GuiSupport.setHeadless(); 73 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 74 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 75 | } 76 | 77 | @After 78 | public void doneWithTestCase() { 79 | threadStopper.killAndJoinClientThreads(); 80 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 81 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 82 | resetClasses(); 83 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 84 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 85 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUI_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:11 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.bukkit.Bukkit; 9 | import org.bukkit.Material; 10 | import org.bukkit.Server; 11 | import org.bukkit.inventory.Inventory; 12 | import org.bukkit.inventory.InventoryHolder; 13 | import org.bukkit.inventory.ItemStack; 14 | import org.evosuite.runtime.EvoRunner; 15 | import org.evosuite.runtime.EvoRunnerParameters; 16 | import org.evosuite.runtime.Random; 17 | import org.evosuite.runtime.ViolatedAssumptionAnswer; 18 | import org.junit.Test; 19 | import org.junit.runner.RunWith; 20 | 21 | import java.util.UUID; 22 | import java.util.logging.Logger; 23 | 24 | import static org.evosuite.runtime.EvoAssertions.verifyException; 25 | import static org.evosuite.runtime.MockitoExtension.doReturn; 26 | import static org.evosuite.shaded.org.mockito.Mockito.any; 27 | import static org.evosuite.shaded.org.mockito.Mockito.anyInt; 28 | import static org.evosuite.shaded.org.mockito.Mockito.anyString; 29 | import static org.evosuite.shaded.org.mockito.Mockito.doReturn; 30 | import static org.evosuite.shaded.org.mockito.Mockito.mock; 31 | import static org.junit.Assert.*; 32 | 33 | @RunWith(EvoRunner.class) 34 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 35 | public class GUI_ESTest extends GUI_ESTest_scaffolding { 36 | 37 | @Test(timeout = 4000) 38 | public void test00() throws Throwable { 39 | Logger logger0 = Logger.getGlobal(); 40 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 41 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 42 | doReturn(null).when(server0).getBukkitVersion(); 43 | doReturn(logger0).when(server0).getLogger(); 44 | doReturn("9x:mC:").when(server0).getName(); 45 | doReturn("").when(server0).getVersion(); 46 | Bukkit.setServer(server0); 47 | Random.setNextRandom((-2470)); 48 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 49 | UUID uUID0 = gUI0.getUniqueId(); 50 | assertEquals((-6482650185820717056L), uUID0.getMostSignificantBits()); 51 | } 52 | 53 | @Test(timeout = 4000) 54 | public void test01() throws Throwable { 55 | Logger logger0 = Logger.getGlobal(); 56 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 57 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 58 | doReturn(null).when(server0).getBukkitVersion(); 59 | doReturn(logger0).when(server0).getLogger(); 60 | doReturn("9x:mC:").when(server0).getName(); 61 | doReturn("").when(server0).getVersion(); 62 | Bukkit.setServer(server0); 63 | Rows rows0 = Rows.TWO; 64 | GUI gUI0 = new GUI(null, "", rows0); 65 | String string0 = gUI0.getTitle(); 66 | assertEquals("", string0); 67 | } 68 | 69 | @Test(timeout = 4000) 70 | public void test02() throws Throwable { 71 | Logger logger0 = Logger.getGlobal(); 72 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 73 | doReturn(null, (Inventory) null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 74 | doReturn(null).when(server0).getBukkitVersion(); 75 | doReturn(logger0).when(server0).getLogger(); 76 | doReturn("9x:mC:").when(server0).getName(); 77 | doReturn("").when(server0).getVersion(); 78 | Bukkit.setServer(server0); 79 | Rows rows0 = Rows.TWO; 80 | GUI gUI0 = new GUI(null, "", rows0); 81 | Rows rows1 = gUI0.getRows(); 82 | Inventory inventory0 = GUI.createInventory(null, rows1, "9x:mC:"); 83 | assertNull(inventory0); 84 | } 85 | 86 | @Test(timeout = 4000) 87 | public void test03() throws Throwable { 88 | Logger logger0 = Logger.getGlobal(); 89 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 90 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 91 | doReturn(null).when(server0).getBukkitVersion(); 92 | doReturn(logger0).when(server0).getLogger(); 93 | doReturn("9x:mC:").when(server0).getName(); 94 | doReturn("").when(server0).getVersion(); 95 | Bukkit.setServer(server0); 96 | Inventory inventory0 = GUI.createInventory(null, 0, ""); 97 | assertNull(inventory0); 98 | } 99 | 100 | @Test(timeout = 4000) 101 | public void test04() throws Throwable { 102 | Rows rows0 = Rows.ONE; 103 | // Undeclared exception! 104 | try { 105 | GUI.createInventory(null, rows0, ""); 106 | fail("Expecting exception: NullPointerException"); 107 | 108 | } catch (NullPointerException e) { 109 | // 110 | // no message in exception (getMessage() returned null) 111 | // 112 | verifyException("org.bukkit.Bukkit", e); 113 | } 114 | } 115 | 116 | @Test(timeout = 4000) 117 | public void test05() throws Throwable { 118 | Logger logger0 = Logger.getGlobal(); 119 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 120 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 121 | doReturn(null).when(server0).getBukkitVersion(); 122 | doReturn(logger0).when(server0).getLogger(); 123 | doReturn("9x:mC:").when(server0).getName(); 124 | doReturn("").when(server0).getVersion(); 125 | Bukkit.setServer(server0); 126 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 127 | ItemBuilder itemBuilder0 = mock(ItemBuilder.class, new ViolatedAssumptionAnswer()); 128 | doReturn(null, (ItemStack) null).when(itemBuilder0).getItem(); 129 | // Undeclared exception! 130 | try { 131 | gUI0.addItem(itemBuilder0); 132 | fail("Expecting exception: NullPointerException"); 133 | 134 | } catch (NullPointerException e) { 135 | // 136 | // no message in exception (getMessage() returned null) 137 | // 138 | verifyException("pl.socketbyte.opengui.GUI", e); 139 | } 140 | } 141 | 142 | @Test(timeout = 4000) 143 | public void test06() throws Throwable { 144 | Rows rows0 = Rows.ONE; 145 | GUI gUI0 = null; 146 | try { 147 | gUI0 = new GUI(null, "", rows0); 148 | fail("Expecting exception: NullPointerException"); 149 | 150 | } catch (NullPointerException e) { 151 | // 152 | // no message in exception (getMessage() returned null) 153 | // 154 | verifyException("org.bukkit.Bukkit", e); 155 | } 156 | } 157 | 158 | @Test(timeout = 4000) 159 | public void test07() throws Throwable { 160 | Logger logger0 = Logger.getGlobal(); 161 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 162 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 163 | doReturn(null).when(server0).getBukkitVersion(); 164 | doReturn(logger0).when(server0).getLogger(); 165 | doReturn("9x:mC:").when(server0).getName(); 166 | doReturn("").when(server0).getVersion(); 167 | Bukkit.setServer(server0); 168 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 169 | UUID uUID0 = gUI0.getUniqueId(); 170 | assertEquals(16793600L, uUID0.getMostSignificantBits()); 171 | } 172 | 173 | @Test(timeout = 4000) 174 | public void test08() throws Throwable { 175 | Logger logger0 = Logger.getGlobal(); 176 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 177 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 178 | doReturn(null).when(server0).getBukkitVersion(); 179 | doReturn(logger0).when(server0).getLogger(); 180 | doReturn("9x:mC:").when(server0).getName(); 181 | doReturn("").when(server0).getVersion(); 182 | Bukkit.setServer(server0); 183 | ItemStack itemStack0 = mock(ItemStack.class, new ViolatedAssumptionAnswer()); 184 | Material material0 = Material.DARK_OAK_STAIRS; 185 | ItemStack itemStack1 = mock(ItemStack.class, new ViolatedAssumptionAnswer()); 186 | doReturn(material0).when(itemStack1).getType(); 187 | ItemBuilder itemBuilder0 = mock(ItemBuilder.class, new ViolatedAssumptionAnswer()); 188 | doReturn(itemStack0, itemStack1).when(itemBuilder0).getItem(); 189 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 190 | int int0 = gUI0.addItem(itemBuilder0); 191 | assertEquals((-1), int0); 192 | } 193 | 194 | @Test(timeout = 4000) 195 | public void test09() throws Throwable { 196 | Logger logger0 = Logger.getGlobal(); 197 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 198 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 199 | doReturn(null).when(server0).getBukkitVersion(); 200 | doReturn(logger0).when(server0).getLogger(); 201 | doReturn("9x:mC:").when(server0).getName(); 202 | doReturn("").when(server0).getVersion(); 203 | Bukkit.setServer(server0); 204 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 205 | // Undeclared exception! 206 | try { 207 | gUI0.removeItem((-2470)); 208 | fail("Expecting exception: NullPointerException"); 209 | 210 | } catch (NullPointerException e) { 211 | // 212 | // no message in exception (getMessage() returned null) 213 | // 214 | verifyException("pl.socketbyte.opengui.GUI", e); 215 | } 216 | } 217 | 218 | @Test(timeout = 4000) 219 | public void test10() throws Throwable { 220 | // Undeclared exception! 221 | try { 222 | GUI.createInventory(null, 0, ""); 223 | fail("Expecting exception: NullPointerException"); 224 | 225 | } catch (NullPointerException e) { 226 | // 227 | // no message in exception (getMessage() returned null) 228 | // 229 | verifyException("org.bukkit.Bukkit", e); 230 | } 231 | } 232 | 233 | @Test(timeout = 4000) 234 | public void test11() throws Throwable { 235 | Logger logger0 = Logger.getGlobal(); 236 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 237 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt()); 238 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 239 | doReturn(null).when(server0).getBukkitVersion(); 240 | doReturn(logger0).when(server0).getLogger(); 241 | doReturn("9x:mC:").when(server0).getName(); 242 | doReturn("").when(server0).getVersion(); 243 | Bukkit.setServer(server0); 244 | GUI gUI0 = new GUI("9x:mC:"); 245 | gUI0.setInventory(null); 246 | assertEquals("9x:mC:", gUI0.getTitle()); 247 | } 248 | 249 | @Test(timeout = 4000) 250 | public void test12() throws Throwable { 251 | Logger logger0 = Logger.getGlobal(); 252 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 253 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt()); 254 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 255 | doReturn(null).when(server0).getBukkitVersion(); 256 | doReturn(logger0).when(server0).getLogger(); 257 | doReturn("9x:mC:").when(server0).getName(); 258 | doReturn("9x:mC:").when(server0).getVersion(); 259 | Bukkit.setServer(server0); 260 | Rows rows0 = Rows.ONE; 261 | GUI gUI0 = new GUI("WF\"CWRH", rows0); 262 | Inventory inventory0 = gUI0.getInventory(); 263 | assertNull(inventory0); 264 | } 265 | 266 | @Test(timeout = 4000) 267 | public void test13() throws Throwable { 268 | Logger logger0 = Logger.getGlobal(); 269 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 270 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 271 | doReturn(null).when(server0).getBukkitVersion(); 272 | doReturn(logger0).when(server0).getLogger(); 273 | doReturn("9x:mC:").when(server0).getName(); 274 | doReturn("").when(server0).getVersion(); 275 | Bukkit.setServer(server0); 276 | GUI gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 277 | String string0 = gUI0.getTitle(); 278 | assertEquals("^<#y47-z*9mVbo+", string0); 279 | } 280 | 281 | @Test(timeout = 4000) 282 | public void test14() throws Throwable { 283 | GUI gUI0 = null; 284 | try { 285 | gUI0 = new GUI(null, "^<#y47-z*9mVbo+"); 286 | fail("Expecting exception: NullPointerException"); 287 | 288 | } catch (NullPointerException e) { 289 | // 290 | // no message in exception (getMessage() returned null) 291 | // 292 | verifyException("org.bukkit.Bukkit", e); 293 | } 294 | } 295 | 296 | @Test(timeout = 4000) 297 | public void test15() throws Throwable { 298 | Logger logger0 = Logger.getGlobal(); 299 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 300 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 301 | doReturn(null).when(server0).getBukkitVersion(); 302 | doReturn(logger0).when(server0).getLogger(); 303 | doReturn("9x:mC:").when(server0).getName(); 304 | doReturn("").when(server0).getVersion(); 305 | Bukkit.setServer(server0); 306 | Rows rows0 = Rows.TWO; 307 | GUI gUI0 = new GUI(null, "", rows0); 308 | InventoryHolder inventoryHolder0 = gUI0.getHolder(); 309 | assertNull(inventoryHolder0); 310 | } 311 | 312 | @Test(timeout = 4000) 313 | public void test16() throws Throwable { 314 | Logger logger0 = Logger.getGlobal(); 315 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 316 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt()); 317 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 318 | doReturn(null).when(server0).getBukkitVersion(); 319 | doReturn(logger0).when(server0).getLogger(); 320 | doReturn("9x:mC:").when(server0).getName(); 321 | doReturn("").when(server0).getVersion(); 322 | Bukkit.setServer(server0); 323 | GUI gUI0 = new GUI("9x:mC:"); 324 | ItemStack itemStack0 = mock(ItemStack.class, new ViolatedAssumptionAnswer()); 325 | ItemBuilder itemBuilder0 = mock(ItemBuilder.class, new ViolatedAssumptionAnswer()); 326 | doReturn(itemStack0).when(itemBuilder0).getItem(); 327 | gUI0.setItem((-2470), itemBuilder0); 328 | assertEquals("9x:mC:", gUI0.getTitle()); 329 | } 330 | 331 | @Test(timeout = 4000) 332 | public void test17() throws Throwable { 333 | Rows rows0 = Rows.ONE; 334 | GUI gUI0 = null; 335 | try { 336 | gUI0 = new GUI("WF\"CWRH", rows0); 337 | fail("Expecting exception: NullPointerException"); 338 | 339 | } catch (NullPointerException e) { 340 | // 341 | // no message in exception (getMessage() returned null) 342 | // 343 | verifyException("org.bukkit.Bukkit", e); 344 | } 345 | } 346 | 347 | @Test(timeout = 4000) 348 | public void test18() throws Throwable { 349 | Logger logger0 = Logger.getGlobal(); 350 | Server server0 = mock(Server.class, new ViolatedAssumptionAnswer()); 351 | doReturn(null).when(server0).createInventory(any(org.bukkit.inventory.InventoryHolder.class), anyInt(), anyString()); 352 | doReturn(null).when(server0).getBukkitVersion(); 353 | doReturn(logger0).when(server0).getLogger(); 354 | doReturn("9x:mC:").when(server0).getName(); 355 | doReturn("").when(server0).getVersion(); 356 | Bukkit.setServer(server0); 357 | Rows rows0 = Rows.TWO; 358 | GUI gUI0 = new GUI(null, "", rows0); 359 | String string0 = gUI0.toString(); 360 | assertEquals("00000000-0100-4000-8200-000003000000", string0); 361 | } 362 | 363 | @Test(timeout = 4000) 364 | public void test19() throws Throwable { 365 | GUI gUI0 = null; 366 | try { 367 | gUI0 = new GUI("9x:mC:"); 368 | fail("Expecting exception: NullPointerException"); 369 | 370 | } catch (NullPointerException e) { 371 | // 372 | // no message in exception (getMessage() returned null) 373 | // 374 | verifyException("org.bukkit.Bukkit", e); 375 | } 376 | } 377 | } 378 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/GUI_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:11 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | import static org.evosuite.shaded.org.mockito.Mockito.mock; 17 | @EvoSuiteClassExclude 18 | public class GUI_ESTest_scaffolding { 19 | 20 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 21 | @org.junit.Rule 22 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 23 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 24 | 25 | 26 | @BeforeClass 27 | public static void initEvoSuiteFramework() { 28 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.GUI"; 29 | org.evosuite.runtime.GuiSupport.initialize(); 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 31 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 32 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 33 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 34 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 35 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 36 | setSystemProperties(); 37 | initializeClasses(); 38 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 39 | try { 40 | initMocksToAvoidTimeoutsInTheTests(); 41 | } catch (ClassNotFoundException e) { 42 | } 43 | } 44 | 45 | @AfterClass 46 | public static void clearEvoSuiteFramework() { 47 | Sandbox.resetDefaultSecurityManager(); 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | } 50 | 51 | public static void setSystemProperties() { 52 | 53 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 54 | java.lang.System.setProperty("file.encoding", "Cp1250"); 55 | java.lang.System.setProperty("java.awt.headless", "true"); 56 | java.lang.System.setProperty("user.country", "PL"); 57 | java.lang.System.setProperty("user.language", "pl"); 58 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 59 | } 60 | 61 | private static void initializeClasses() { 62 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(GUI_ESTest_scaffolding.class.getClassLoader(), 63 | "org.bukkit.material.Button", 64 | "org.bukkit.material.EnderChest", 65 | "org.bukkit.command.TabCompleter", 66 | "org.bukkit.material.Ladder", 67 | "org.bukkit.permissions.ServerOperator", 68 | "org.bukkit.material.Colorable", 69 | "org.bukkit.ChatColor$19", 70 | "pl.socketbyte.opengui.ColorUtil", 71 | "org.bukkit.ChatColor$18", 72 | "org.bukkit.ChatColor$17", 73 | "com.google.common.collect.Collections2", 74 | "org.bukkit.ChatColor$16", 75 | "org.bukkit.ChatColor$15", 76 | "org.bukkit.TreeSpecies", 77 | "org.bukkit.ChatColor$14", 78 | "org.bukkit.material.MaterialData", 79 | "org.bukkit.ChatColor$13", 80 | "org.bukkit.ChatColor$12", 81 | "org.bukkit.ChatColor$22", 82 | "org.bukkit.material.Diode", 83 | "org.bukkit.ChatColor$21", 84 | "org.bukkit.ChatColor$20", 85 | "org.bukkit.boss.BarColor", 86 | "org.bukkit.Location", 87 | "org.bukkit.material.SmoothBrick", 88 | "org.bukkit.World", 89 | "org.bukkit.material.PistonExtensionMaterial", 90 | "org.bukkit.material.PressurePlate", 91 | "org.bukkit.material.MonsterEggs", 92 | "org.bukkit.material.Directional", 93 | "org.bukkit.projectiles.ProjectileSource", 94 | "org.bukkit.material.TrapDoor", 95 | "org.bukkit.Material", 96 | "org.bukkit.material.Mushroom", 97 | "org.bukkit.material.Observer", 98 | "org.bukkit.command.CommandSender", 99 | "org.bukkit.material.types.MushroomBlockTexture", 100 | "org.bukkit.material.Gate", 101 | "org.bukkit.entity.Entity", 102 | "org.bukkit.material.Pumpkin", 103 | "org.bukkit.material.TexturedMaterial", 104 | "org.bukkit.advancement.Advancement", 105 | "org.bukkit.material.Hopper", 106 | "com.google.common.collect.SortedMapDifference", 107 | "org.bukkit.command.TabExecutor", 108 | "org.bukkit.OfflinePlayer", 109 | "org.bukkit.inventory.ItemStack", 110 | "org.bukkit.ChatColor$11", 111 | "org.bukkit.ChatColor$10", 112 | "org.bukkit.BanList$Type", 113 | "org.bukkit.material.LongGrass", 114 | "com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap", 115 | "org.bukkit.material.Tripwire", 116 | "org.bukkit.conversations.Conversable", 117 | "org.bukkit.material.Banner", 118 | "org.bukkit.material.TripwireHook", 119 | "org.bukkit.material.Redstone", 120 | "org.bukkit.material.Step", 121 | "org.bukkit.material.Rails", 122 | "org.bukkit.boss.BarFlag", 123 | "org.bukkit.material.FlowerPot", 124 | "com.google.common.base.Joiner", 125 | "org.bukkit.Warning$WarningState", 126 | "pl.socketbyte.opengui.GUIHolder", 127 | "org.bukkit.Keyed", 128 | "org.bukkit.material.Cake", 129 | "org.bukkit.Server", 130 | "org.bukkit.plugin.ServicesManager", 131 | "org.bukkit.material.Attachable", 132 | "pl.socketbyte.opengui.GUI", 133 | "org.bukkit.material.PoweredRail", 134 | "org.bukkit.plugin.messaging.Messenger", 135 | "org.bukkit.scheduler.BukkitScheduler", 136 | "com.google.common.collect.Maps$BiMapConverter", 137 | "org.bukkit.material.NetherWarts", 138 | "org.bukkit.material.Sandstone", 139 | "com.google.common.base.Joiner$MapJoiner", 140 | "org.bukkit.material.Stairs", 141 | "org.bukkit.util.CachedServerIcon", 142 | "org.bukkit.inventory.InventoryHolder", 143 | "org.bukkit.material.CocoaPlant$CocoaPlantSize", 144 | "com.google.common.collect.MapDifference", 145 | "org.bukkit.material.Skull", 146 | "org.bukkit.boss.BossBar", 147 | "org.bukkit.material.WoodenStep", 148 | "org.bukkit.material.Cauldron", 149 | "com.google.common.base.Preconditions", 150 | "com.google.common.collect.UnmodifiableIterator", 151 | "org.bukkit.DyeColor", 152 | "org.bukkit.plugin.PluginManager", 153 | "org.bukkit.plugin.Plugin", 154 | "org.bukkit.material.PistonBaseMaterial", 155 | "com.google.common.base.Joiner$1", 156 | "org.bukkit.material.Lever", 157 | "com.google.common.base.Joiner$2", 158 | "pl.socketbyte.opengui.Rows", 159 | "org.bukkit.material.Torch", 160 | "org.bukkit.command.ConsoleCommandSender", 161 | "org.bukkit.enchantments.Enchantment", 162 | "org.bukkit.help.HelpMap", 163 | "org.bukkit.NetherWartsState", 164 | "org.bukkit.CropState", 165 | "com.google.common.collect.ImmutableEnumMap", 166 | "org.bukkit.entity.Player", 167 | "org.bukkit.block.BlockFace", 168 | "org.bukkit.material.Chest", 169 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 170 | "org.bukkit.inventory.Inventory", 171 | "org.bukkit.inventory.Merchant", 172 | "org.bukkit.material.FurnaceAndDispenser", 173 | "org.bukkit.CoalType", 174 | "org.bukkit.UnsafeValues", 175 | "org.bukkit.inventory.Recipe", 176 | "org.bukkit.material.PressureSensor", 177 | "org.bukkit.material.Furnace", 178 | "org.bukkit.Bukkit", 179 | "com.google.common.base.Converter", 180 | "org.bukkit.attribute.Attributable", 181 | "com.google.common.collect.BiMap", 182 | "org.bukkit.material.SpawnEgg", 183 | "com.google.common.collect.Maps$6", 184 | "com.google.common.base.Function", 185 | "org.bukkit.inventory.ItemFactory", 186 | "com.google.common.collect.ImmutableMap", 187 | "org.bukkit.material.RedstoneTorch", 188 | "org.bukkit.GrassSpecies", 189 | "org.bukkit.BanList", 190 | "org.bukkit.material.Sapling", 191 | "org.bukkit.entity.LivingEntity", 192 | "org.bukkit.entity.EntityType", 193 | "org.bukkit.command.PluginCommand", 194 | "org.bukkit.Nameable", 195 | "org.bukkit.material.RedstoneWire", 196 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 197 | "org.bukkit.material.Crops", 198 | "org.bukkit.command.Command", 199 | "org.bukkit.material.DetectorRail", 200 | "org.bukkit.command.CommandException", 201 | "org.bukkit.material.ExtendedRails", 202 | "org.bukkit.Server$Spigot", 203 | "org.bukkit.material.Door", 204 | "org.bukkit.material.CocoaPlant", 205 | "org.bukkit.entity.Damageable", 206 | "org.bukkit.material.Wool", 207 | "org.bukkit.material.DirectionalContainer", 208 | "org.bukkit.inventory.meta.ItemMeta", 209 | "org.bukkit.entity.AnimalTamer", 210 | "org.bukkit.material.Leaves", 211 | "com.google.common.collect.Multiset", 212 | "org.bukkit.material.Bed", 213 | "org.bukkit.material.Sign", 214 | "org.bukkit.WorldCreator", 215 | "org.bukkit.material.SimpleAttachableMaterialData", 216 | "org.bukkit.GameMode", 217 | "org.bukkit.material.Openable", 218 | "pl.socketbyte.opengui.ItemBuilder", 219 | "org.bukkit.boss.BarStyle", 220 | "org.bukkit.map.MapView", 221 | "org.bukkit.material.Wood", 222 | "org.bukkit.material.Vine", 223 | "org.bukkit.material.Command", 224 | "org.bukkit.entity.HumanEntity", 225 | "org.bukkit.ChatColor$6", 226 | "org.bukkit.ChatColor$5", 227 | "org.bukkit.generator.ChunkGenerator$ChunkData", 228 | "org.bukkit.ChatColor$4", 229 | "org.bukkit.ChatColor$3", 230 | "org.bukkit.event.inventory.InventoryType", 231 | "org.bukkit.NamespacedKey", 232 | "org.bukkit.ChatColor$2", 233 | "org.bukkit.scoreboard.ScoreboardManager", 234 | "org.bukkit.ChatColor$1", 235 | "org.bukkit.permissions.Permissible", 236 | "org.bukkit.material.Dye", 237 | "org.bukkit.command.PluginIdentifiableCommand", 238 | "org.bukkit.material.Tree", 239 | "org.bukkit.SandstoneType", 240 | "org.bukkit.command.CommandExecutor", 241 | "com.google.common.collect.Maps", 242 | "org.bukkit.ChatColor$9", 243 | "org.bukkit.ChatColor$8", 244 | "org.bukkit.ChatColor$7", 245 | "com.google.common.collect.Maps$EntryTransformer", 246 | "org.bukkit.material.Coal", 247 | "org.bukkit.material.Dispenser", 248 | "org.bukkit.metadata.Metadatable", 249 | "org.bukkit.material.Comparator", 250 | "org.bukkit.ChatColor" 251 | ); 252 | } 253 | 254 | private static void initMocksToAvoidTimeoutsInTheTests() throws ClassNotFoundException { 255 | mock(Class.forName("org.bukkit.Server", false, GUI_ESTest_scaffolding.class.getClassLoader())); 256 | mock(Class.forName("org.bukkit.inventory.ItemStack", false, GUI_ESTest_scaffolding.class.getClassLoader())); 257 | mock(Class.forName("pl.socketbyte.opengui.ItemBuilder", false, GUI_ESTest_scaffolding.class.getClassLoader())); 258 | } 259 | 260 | private static void resetClasses() { 261 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(GUI_ESTest_scaffolding.class.getClassLoader()); 262 | 263 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 264 | "pl.socketbyte.opengui.Rows", 265 | "org.bukkit.ChatColor$1", 266 | "org.bukkit.ChatColor$2", 267 | "org.bukkit.ChatColor$3", 268 | "org.bukkit.ChatColor$4", 269 | "org.bukkit.ChatColor$5", 270 | "org.bukkit.ChatColor$6", 271 | "org.bukkit.ChatColor$7", 272 | "org.bukkit.ChatColor$8", 273 | "org.bukkit.ChatColor$9", 274 | "org.bukkit.ChatColor$10", 275 | "org.bukkit.ChatColor$11", 276 | "org.bukkit.ChatColor$12", 277 | "org.bukkit.ChatColor$13", 278 | "org.bukkit.ChatColor$14", 279 | "org.bukkit.ChatColor$15", 280 | "org.bukkit.ChatColor$16", 281 | "org.bukkit.ChatColor$17", 282 | "org.bukkit.ChatColor$18", 283 | "org.bukkit.ChatColor$19", 284 | "org.bukkit.ChatColor$20", 285 | "org.bukkit.ChatColor$21", 286 | "org.bukkit.ChatColor$22", 287 | "com.google.common.collect.Collections2", 288 | "com.google.common.collect.Maps", 289 | "org.bukkit.ChatColor", 290 | "org.bukkit.Bukkit", 291 | "org.bukkit.Material", 292 | "org.hsqldb.jdbc.JDBCDriver" 293 | ); 294 | } 295 | 296 | @Before 297 | public void initTestCase() { 298 | threadStopper.storeCurrentThreads(); 299 | threadStopper.startRecordingTime(); 300 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 301 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 302 | setSystemProperties(); 303 | org.evosuite.runtime.GuiSupport.setHeadless(); 304 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 305 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 306 | } 307 | 308 | @After 309 | public void doneWithTestCase() { 310 | threadStopper.killAndJoinClientThreads(); 311 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 312 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 313 | resetClasses(); 314 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 315 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 316 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 317 | } 318 | } 319 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemBuilder_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:22:40 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.bukkit.Material; 9 | import org.evosuite.runtime.EvoRunner; 10 | import org.evosuite.runtime.EvoRunnerParameters; 11 | import org.junit.Test; 12 | import org.junit.runner.RunWith; 13 | 14 | import static org.evosuite.runtime.EvoAssertions.verifyException; 15 | import static org.junit.Assert.fail; 16 | 17 | @RunWith(EvoRunner.class) 18 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 19 | public class ItemBuilder_ESTest extends ItemBuilder_ESTest_scaffolding { 20 | 21 | @Test(timeout = 4000) 22 | public void test0() throws Throwable { 23 | Material material0 = Material.GOLD_BLOCK; 24 | ItemBuilder itemBuilder0 = null; 25 | try { 26 | itemBuilder0 = new ItemBuilder(material0, (int) (short) (-1417), (short) 0); 27 | fail("Expecting exception: NullPointerException"); 28 | 29 | } catch (NullPointerException e) { 30 | // 31 | // no message in exception (getMessage() returned null) 32 | // 33 | verifyException("org.bukkit.Bukkit", e); 34 | } 35 | } 36 | 37 | @Test(timeout = 4000) 38 | public void test1() throws Throwable { 39 | Material material0 = Material.COAL_ORE; 40 | ItemBuilder itemBuilder0 = null; 41 | try { 42 | itemBuilder0 = new ItemBuilder(material0); 43 | fail("Expecting exception: NullPointerException"); 44 | 45 | } catch (NullPointerException e) { 46 | // 47 | // no message in exception (getMessage() returned null) 48 | // 49 | verifyException("org.bukkit.Bukkit", e); 50 | } 51 | } 52 | 53 | @Test(timeout = 4000) 54 | public void test2() throws Throwable { 55 | ItemBuilder itemBuilder0 = null; 56 | try { 57 | itemBuilder0 = new ItemBuilder(); 58 | fail("Expecting exception: NullPointerException"); 59 | 60 | } catch (NullPointerException e) { 61 | // 62 | // no message in exception (getMessage() returned null) 63 | // 64 | verifyException("org.bukkit.Bukkit", e); 65 | } 66 | } 67 | 68 | @Test(timeout = 4000) 69 | public void test3() throws Throwable { 70 | Material material0 = Material.COBBLE_WALL; 71 | ItemBuilder itemBuilder0 = null; 72 | try { 73 | itemBuilder0 = new ItemBuilder(material0, 0); 74 | fail("Expecting exception: NullPointerException"); 75 | 76 | } catch (NullPointerException e) { 77 | // 78 | // no message in exception (getMessage() returned null) 79 | // 80 | verifyException("org.bukkit.Bukkit", e); 81 | } 82 | } 83 | 84 | @Test(timeout = 4000) 85 | public void test4() throws Throwable { 86 | Material material0 = Material.SUGAR_CANE; 87 | ItemBuilder itemBuilder0 = null; 88 | try { 89 | itemBuilder0 = new ItemBuilder(material0, (-186), 797); 90 | fail("Expecting exception: NullPointerException"); 91 | 92 | } catch (NullPointerException e) { 93 | // 94 | // no message in exception (getMessage() returned null) 95 | // 96 | verifyException("org.bukkit.Bukkit", e); 97 | } 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemBuilder_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:22:40 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class ItemBuilder_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.ItemBuilder"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ItemBuilder_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.material.Button", 59 | "org.bukkit.material.EnderChest", 60 | "org.bukkit.material.Ladder", 61 | "org.bukkit.material.Colorable", 62 | "com.google.common.collect.Collections2", 63 | "org.bukkit.TreeSpecies", 64 | "org.bukkit.material.MaterialData", 65 | "org.bukkit.material.Diode", 66 | "org.bukkit.material.SmoothBrick", 67 | "org.bukkit.material.PistonExtensionMaterial", 68 | "org.bukkit.material.PressurePlate", 69 | "org.bukkit.material.MonsterEggs", 70 | "org.bukkit.material.Directional", 71 | "org.bukkit.material.TrapDoor", 72 | "org.bukkit.Material", 73 | "org.bukkit.material.Mushroom", 74 | "org.bukkit.material.Observer", 75 | "org.bukkit.material.types.MushroomBlockTexture", 76 | "org.bukkit.material.Gate", 77 | "org.bukkit.material.Pumpkin", 78 | "org.bukkit.material.TexturedMaterial", 79 | "org.bukkit.material.Hopper", 80 | "com.google.common.collect.SortedMapDifference", 81 | "org.bukkit.inventory.ItemStack", 82 | "org.bukkit.material.LongGrass", 83 | "com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap", 84 | "org.bukkit.material.Tripwire", 85 | "org.bukkit.material.Banner", 86 | "org.bukkit.material.TripwireHook", 87 | "org.bukkit.material.Redstone", 88 | "org.bukkit.material.Step", 89 | "org.bukkit.material.Rails", 90 | "org.bukkit.material.FlowerPot", 91 | "com.google.common.base.Joiner", 92 | "org.bukkit.material.Cake", 93 | "org.bukkit.Server", 94 | "org.bukkit.material.Attachable", 95 | "org.bukkit.material.PoweredRail", 96 | "com.google.common.collect.Maps$BiMapConverter", 97 | "org.bukkit.material.NetherWarts", 98 | "org.bukkit.material.Sandstone", 99 | "com.google.common.base.Joiner$MapJoiner", 100 | "org.bukkit.material.Stairs", 101 | "org.bukkit.material.CocoaPlant$CocoaPlantSize", 102 | "com.google.common.collect.MapDifference", 103 | "org.bukkit.material.Skull", 104 | "org.bukkit.material.WoodenStep", 105 | "org.bukkit.material.Cauldron", 106 | "com.google.common.base.Preconditions", 107 | "com.google.common.collect.UnmodifiableIterator", 108 | "org.bukkit.DyeColor", 109 | "org.bukkit.material.PistonBaseMaterial", 110 | "com.google.common.base.Joiner$1", 111 | "org.bukkit.material.Lever", 112 | "com.google.common.base.Joiner$2", 113 | "org.bukkit.material.Torch", 114 | "org.bukkit.NetherWartsState", 115 | "org.bukkit.CropState", 116 | "com.google.common.collect.ImmutableEnumMap", 117 | "org.bukkit.block.BlockFace", 118 | "org.bukkit.material.Chest", 119 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 120 | "org.bukkit.material.FurnaceAndDispenser", 121 | "org.bukkit.CoalType", 122 | "org.bukkit.material.PressureSensor", 123 | "org.bukkit.material.Furnace", 124 | "com.google.common.base.Converter", 125 | "org.bukkit.Bukkit", 126 | "com.google.common.collect.BiMap", 127 | "org.bukkit.material.SpawnEgg", 128 | "com.google.common.collect.Maps$6", 129 | "com.google.common.base.Function", 130 | "com.google.common.collect.ImmutableMap", 131 | "org.bukkit.material.RedstoneTorch", 132 | "org.bukkit.GrassSpecies", 133 | "org.bukkit.material.Sapling", 134 | "org.bukkit.entity.EntityType", 135 | "org.bukkit.material.RedstoneWire", 136 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 137 | "org.bukkit.material.Crops", 138 | "org.bukkit.material.DetectorRail", 139 | "org.bukkit.material.ExtendedRails", 140 | "org.bukkit.material.Door", 141 | "org.bukkit.material.CocoaPlant", 142 | "org.bukkit.material.Wool", 143 | "org.bukkit.material.DirectionalContainer", 144 | "org.bukkit.material.Leaves", 145 | "com.google.common.collect.Multiset", 146 | "org.bukkit.material.Bed", 147 | "org.bukkit.material.Sign", 148 | "org.bukkit.material.SimpleAttachableMaterialData", 149 | "org.bukkit.material.Openable", 150 | "pl.socketbyte.opengui.ItemBuilder", 151 | "org.bukkit.material.Wood", 152 | "org.bukkit.material.Vine", 153 | "org.bukkit.material.Command", 154 | "org.bukkit.material.Dye", 155 | "org.bukkit.material.Tree", 156 | "org.bukkit.SandstoneType", 157 | "com.google.common.collect.Maps", 158 | "com.google.common.collect.Maps$EntryTransformer", 159 | "org.bukkit.material.Coal", 160 | "org.bukkit.material.Dispenser", 161 | "org.bukkit.material.Comparator" 162 | ); 163 | } 164 | 165 | private static void resetClasses() { 166 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ItemBuilder_ESTest_scaffolding.class.getClassLoader()); 167 | 168 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 169 | "com.google.common.collect.Collections2", 170 | "com.google.common.collect.Maps", 171 | "org.bukkit.Material", 172 | "org.bukkit.ChatColor$1", 173 | "org.bukkit.ChatColor$2", 174 | "org.bukkit.ChatColor$3", 175 | "org.bukkit.ChatColor$4", 176 | "org.bukkit.ChatColor$5", 177 | "org.bukkit.ChatColor$6", 178 | "org.bukkit.ChatColor$7", 179 | "org.bukkit.ChatColor$8", 180 | "org.bukkit.ChatColor$9", 181 | "org.bukkit.ChatColor$10", 182 | "org.bukkit.ChatColor$11", 183 | "org.bukkit.ChatColor$12", 184 | "org.bukkit.ChatColor$13", 185 | "org.bukkit.ChatColor$14", 186 | "org.bukkit.ChatColor$15", 187 | "org.bukkit.ChatColor$16", 188 | "org.bukkit.ChatColor$17", 189 | "org.bukkit.ChatColor$18", 190 | "org.bukkit.ChatColor$19", 191 | "org.bukkit.ChatColor$20", 192 | "org.bukkit.ChatColor$21", 193 | "org.bukkit.ChatColor$22", 194 | "org.bukkit.ChatColor", 195 | "org.bukkit.Bukkit" 196 | ); 197 | } 198 | 199 | @Before 200 | public void initTestCase() { 201 | threadStopper.storeCurrentThreads(); 202 | threadStopper.startRecordingTime(); 203 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 204 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 205 | setSystemProperties(); 206 | org.evosuite.runtime.GuiSupport.setHeadless(); 207 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 208 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 209 | } 210 | 211 | @After 212 | public void doneWithTestCase() { 213 | threadStopper.killAndJoinClientThreads(); 214 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 215 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 216 | resetClasses(); 217 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 218 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 219 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 220 | } 221 | } 222 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemEnchantment_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:32 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.bukkit.enchantments.Enchantment; 9 | import org.bukkit.enchantments.EnchantmentWrapper; 10 | import org.evosuite.runtime.EvoRunner; 11 | import org.evosuite.runtime.EvoRunnerParameters; 12 | import org.junit.Test; 13 | import org.junit.runner.RunWith; 14 | 15 | import static org.junit.Assert.*; 16 | 17 | @RunWith(EvoRunner.class) 18 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 19 | public class ItemEnchantment_ESTest extends ItemEnchantment_ESTest_scaffolding { 20 | 21 | @Test(timeout = 4000) 22 | public void test00() throws Throwable { 23 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.DIG_SPEED; 24 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, 0, false); 25 | boolean boolean0 = itemEnchantment0.isUnsafe(); 26 | assertFalse(boolean0); 27 | assertEquals(0, itemEnchantment0.getLevel()); 28 | } 29 | 30 | @Test(timeout = 4000) 31 | public void test01() throws Throwable { 32 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.LURE; 33 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, 0); 34 | int int0 = itemEnchantment0.getLevel(); 35 | assertEquals(0, int0); 36 | assertTrue(itemEnchantment0.isUnsafe()); 37 | } 38 | 39 | @Test(timeout = 4000) 40 | public void test02() throws Throwable { 41 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(null, 395); 42 | int int0 = itemEnchantment0.getLevel(); 43 | assertTrue(itemEnchantment0.isUnsafe()); 44 | assertEquals(395, int0); 45 | } 46 | 47 | @Test(timeout = 4000) 48 | public void test03() throws Throwable { 49 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(null, 395); 50 | itemEnchantment0.getEnchantment(); 51 | assertTrue(itemEnchantment0.isUnsafe()); 52 | assertEquals(395, itemEnchantment0.getLevel()); 53 | } 54 | 55 | @Test(timeout = 4000) 56 | public void test04() throws Throwable { 57 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.ARROW_DAMAGE; 58 | Enchantment.stopAcceptingRegistrations(); 59 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-359), true); 60 | itemEnchantment0.getEnchantment(); 61 | assertTrue(itemEnchantment0.isUnsafe()); 62 | assertEquals((-359), itemEnchantment0.getLevel()); 63 | } 64 | 65 | @Test(timeout = 4000) 66 | public void test05() throws Throwable { 67 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.PROTECTION_ENVIRONMENTAL; 68 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, 1); 69 | itemEnchantment0.getEnchantment(); 70 | assertTrue(itemEnchantment0.isUnsafe()); 71 | assertEquals(1, itemEnchantment0.getLevel()); 72 | } 73 | 74 | @Test(timeout = 4000) 75 | public void test06() throws Throwable { 76 | EnchantmentWrapper enchantmentWrapper0 = new EnchantmentWrapper((-88)); 77 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-20)); 78 | itemEnchantment0.getEnchantment(); 79 | assertTrue(itemEnchantment0.isUnsafe()); 80 | assertEquals((-20), itemEnchantment0.getLevel()); 81 | } 82 | 83 | @Test(timeout = 4000) 84 | public void test07() throws Throwable { 85 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.ARROW_DAMAGE; 86 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-359), true); 87 | itemEnchantment0.setEnchantment(enchantmentWrapper0); 88 | assertEquals((-359), itemEnchantment0.getLevel()); 89 | assertTrue(itemEnchantment0.isUnsafe()); 90 | } 91 | 92 | @Test(timeout = 4000) 93 | public void test08() throws Throwable { 94 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.ARROW_DAMAGE; 95 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-359), true); 96 | boolean boolean0 = itemEnchantment0.isUnsafe(); 97 | assertEquals((-359), itemEnchantment0.getLevel()); 98 | assertTrue(boolean0); 99 | } 100 | 101 | @Test(timeout = 4000) 102 | public void test09() throws Throwable { 103 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(null, 395); 104 | itemEnchantment0.setLevel(395); 105 | assertEquals(395, itemEnchantment0.getLevel()); 106 | assertTrue(itemEnchantment0.isUnsafe()); 107 | } 108 | 109 | @Test(timeout = 4000) 110 | public void test10() throws Throwable { 111 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.WATER_WORKER; 112 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-956), true); 113 | int int0 = itemEnchantment0.getLevel(); 114 | assertEquals((-956), int0); 115 | assertTrue(itemEnchantment0.isUnsafe()); 116 | } 117 | 118 | @Test(timeout = 4000) 119 | public void test11() throws Throwable { 120 | EnchantmentWrapper enchantmentWrapper0 = (EnchantmentWrapper) Enchantment.WATER_WORKER; 121 | ItemEnchantment itemEnchantment0 = new ItemEnchantment(enchantmentWrapper0, (-956), true); 122 | assertTrue(itemEnchantment0.isUnsafe()); 123 | 124 | itemEnchantment0.setUnsafe(false); 125 | assertFalse(itemEnchantment0.isUnsafe()); 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemEnchantment_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:32 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class ItemEnchantment_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.ItemEnchantment"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ItemEnchantment_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.enchantments.EnchantmentTarget", 59 | "org.bukkit.enchantments.EnchantmentWrapper", 60 | "org.bukkit.enchantments.Enchantment", 61 | "pl.socketbyte.opengui.ItemEnchantment", 62 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 63 | "org.bukkit.inventory.ItemStack" 64 | ); 65 | } 66 | 67 | private static void resetClasses() { 68 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ItemEnchantment_ESTest_scaffolding.class.getClassLoader()); 69 | 70 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 71 | "org.bukkit.enchantments.Enchantment", 72 | "org.bukkit.Bukkit", 73 | "org.bukkit.block.BlockFace", 74 | "org.bukkit.material.Hopper", 75 | "com.google.common.collect.ImmutableMap", 76 | "com.google.common.collect.ImmutableBiMapFauxverideShim", 77 | "com.google.common.collect.ImmutableBiMap", 78 | "com.google.common.collect.RegularImmutableBiMap", 79 | "com.google.common.collect.ImmutableCollection", 80 | "com.google.common.collect.ImmutableSet", 81 | "com.google.common.collect.ImmutableSet$Indexed", 82 | "com.google.common.collect.ObjectArrays", 83 | "com.google.common.collect.RegularImmutableSet", 84 | "com.google.common.collect.ImmutableList", 85 | "com.google.common.collect.RegularImmutableList", 86 | "com.google.common.collect.Iterators" 87 | ); 88 | } 89 | 90 | @Before 91 | public void initTestCase() { 92 | threadStopper.storeCurrentThreads(); 93 | threadStopper.startRecordingTime(); 94 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 95 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 96 | setSystemProperties(); 97 | org.evosuite.runtime.GuiSupport.setHeadless(); 98 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 99 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 100 | } 101 | 102 | @After 103 | public void doneWithTestCase() { 104 | threadStopper.killAndJoinClientThreads(); 105 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 106 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 107 | resetClasses(); 108 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 109 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 110 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemPack_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:37 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.evosuite.runtime.ViolatedAssumptionAnswer; 11 | import org.junit.Test; 12 | import org.junit.runner.RunWith; 13 | import pl.socketbyte.opengui.event.ElementResponse; 14 | 15 | import static org.evosuite.shaded.org.mockito.Mockito.doReturn; 16 | import static org.evosuite.shaded.org.mockito.Mockito.mock; 17 | import static org.junit.Assert.assertEquals; 18 | 19 | @RunWith(EvoRunner.class) 20 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 21 | public class ItemPack_ESTest extends ItemPack_ESTest_scaffolding { 22 | 23 | @Test(timeout = 4000) 24 | public void test0() throws Throwable { 25 | ItemPack itemPack0 = new ItemPack(0, null); 26 | itemPack0.setSlot(2750); 27 | int int0 = itemPack0.getSlot(); 28 | assertEquals(2750, int0); 29 | } 30 | 31 | @Test(timeout = 4000) 32 | public void test1() throws Throwable { 33 | ItemPack itemPack0 = new ItemPack(0, null); 34 | itemPack0.setSlot((-3206)); 35 | int int0 = itemPack0.getSlot(); 36 | assertEquals((-3206), int0); 37 | } 38 | 39 | @Test(timeout = 4000) 40 | public void test2() throws Throwable { 41 | ElementResponse elementResponse0 = mock(ElementResponse.class, new ViolatedAssumptionAnswer()); 42 | doReturn(null).when(elementResponse0).toString(); 43 | ItemPack itemPack0 = new ItemPack(0, null, elementResponse0); 44 | itemPack0.getElementResponse(); 45 | assertEquals(0, itemPack0.getSlot()); 46 | } 47 | 48 | @Test(timeout = 4000) 49 | public void test3() throws Throwable { 50 | ItemPack itemPack0 = new ItemPack(0, null); 51 | int int0 = itemPack0.getSlot(); 52 | assertEquals(0, int0); 53 | } 54 | 55 | @Test(timeout = 4000) 56 | public void test4() throws Throwable { 57 | ItemPack itemPack0 = new ItemPack(null); 58 | assertEquals(0, itemPack0.getSlot()); 59 | } 60 | 61 | @Test(timeout = 4000) 62 | public void test5() throws Throwable { 63 | ItemPack itemPack0 = new ItemPack(0, null); 64 | itemPack0.setElementResponse(null); 65 | assertEquals(0, itemPack0.getSlot()); 66 | } 67 | 68 | @Test(timeout = 4000) 69 | public void test6() throws Throwable { 70 | ItemPack itemPack0 = new ItemPack(0, null); 71 | itemPack0.getElementResponse(); 72 | assertEquals(0, itemPack0.getSlot()); 73 | } 74 | 75 | @Test(timeout = 4000) 76 | public void test7() throws Throwable { 77 | ItemPack itemPack0 = new ItemPack(0, null); 78 | itemPack0.getItemBuilder(); 79 | assertEquals(0, itemPack0.getSlot()); 80 | } 81 | 82 | @Test(timeout = 4000) 83 | public void test8() throws Throwable { 84 | ElementResponse elementResponse0 = mock(ElementResponse.class, new ViolatedAssumptionAnswer()); 85 | ItemPack itemPack0 = new ItemPack(null, elementResponse0); 86 | assertEquals(0, itemPack0.getSlot()); 87 | } 88 | 89 | @Test(timeout = 4000) 90 | public void test9() throws Throwable { 91 | ItemPack itemPack0 = new ItemPack(0, null); 92 | itemPack0.setItemBuilder(null); 93 | assertEquals(0, itemPack0.getSlot()); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/ItemPack_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:37 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | import static org.evosuite.shaded.org.mockito.Mockito.mock; 17 | @EvoSuiteClassExclude 18 | public class ItemPack_ESTest_scaffolding { 19 | 20 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 21 | @org.junit.Rule 22 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 23 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 24 | 25 | 26 | @BeforeClass 27 | public static void initEvoSuiteFramework() { 28 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.ItemPack"; 29 | org.evosuite.runtime.GuiSupport.initialize(); 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 31 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 32 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 33 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 34 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 35 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 36 | setSystemProperties(); 37 | initializeClasses(); 38 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 39 | try { 40 | initMocksToAvoidTimeoutsInTheTests(); 41 | } catch (ClassNotFoundException e) { 42 | } 43 | } 44 | 45 | @AfterClass 46 | public static void clearEvoSuiteFramework() { 47 | Sandbox.resetDefaultSecurityManager(); 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | } 50 | 51 | public static void setSystemProperties() { 52 | 53 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 54 | java.lang.System.setProperty("file.encoding", "Cp1250"); 55 | java.lang.System.setProperty("java.awt.headless", "true"); 56 | java.lang.System.setProperty("user.country", "PL"); 57 | java.lang.System.setProperty("user.language", "pl"); 58 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 59 | } 60 | 61 | private static void initializeClasses() { 62 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ItemPack_ESTest_scaffolding.class.getClassLoader(), 63 | "org.bukkit.event.Cancellable", 64 | "org.bukkit.event.inventory.InventoryEvent", 65 | "org.bukkit.inventory.meta.ItemMeta", 66 | "pl.socketbyte.opengui.ItemBuilder", 67 | "pl.socketbyte.opengui.event.ElementResponse", 68 | "org.bukkit.event.inventory.InventoryInteractEvent", 69 | "org.bukkit.event.Event", 70 | "org.bukkit.event.inventory.InventoryClickEvent", 71 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 72 | "pl.socketbyte.opengui.ItemPack", 73 | "org.bukkit.inventory.ItemStack" 74 | ); 75 | } 76 | 77 | private static void initMocksToAvoidTimeoutsInTheTests() throws ClassNotFoundException { 78 | mock(Class.forName("pl.socketbyte.opengui.event.ElementResponse", false, ItemPack_ESTest_scaffolding.class.getClassLoader())); 79 | } 80 | 81 | private static void resetClasses() { 82 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ItemPack_ESTest_scaffolding.class.getClassLoader()); 83 | 84 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 85 | "org.bukkit.Bukkit" 86 | ); 87 | } 88 | 89 | @Before 90 | public void initTestCase() { 91 | threadStopper.storeCurrentThreads(); 92 | threadStopper.startRecordingTime(); 93 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 94 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 95 | setSystemProperties(); 96 | org.evosuite.runtime.GuiSupport.setHeadless(); 97 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 98 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 99 | } 100 | 101 | @After 102 | public void doneWithTestCase() { 103 | threadStopper.killAndJoinClientThreads(); 104 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 105 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 106 | resetClasses(); 107 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 108 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 109 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/OpenGUI_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:22:58 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.bukkit.plugin.Plugin; 9 | import org.evosuite.runtime.EvoRunner; 10 | import org.evosuite.runtime.EvoRunnerParameters; 11 | import org.junit.Test; 12 | import org.junit.runner.RunWith; 13 | 14 | import java.util.Map; 15 | 16 | import static org.evosuite.runtime.EvoAssertions.verifyException; 17 | import static org.junit.Assert.*; 18 | 19 | @RunWith(EvoRunner.class) 20 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 21 | public class OpenGUI_ESTest extends OpenGUI_ESTest_scaffolding { 22 | 23 | @Test(timeout = 4000) 24 | public void test0() throws Throwable { 25 | OpenGUI[] openGUIArray0 = OpenGUI.values(); 26 | assertNotNull(openGUIArray0); 27 | } 28 | 29 | @Test(timeout = 4000) 30 | public void test1() throws Throwable { 31 | OpenGUI openGUI0 = OpenGUI.valueOf("INSTANCE"); 32 | assertEquals(OpenGUI.INSTANCE, openGUI0); 33 | } 34 | 35 | @Test(timeout = 4000) 36 | public void test2() throws Throwable { 37 | OpenGUI openGUI0 = OpenGUI.INSTANCE; 38 | // Undeclared exception! 39 | try { 40 | openGUI0.register(null); 41 | fail("Expecting exception: NullPointerException"); 42 | 43 | } catch (NullPointerException e) { 44 | // 45 | // no message in exception (getMessage() returned null) 46 | // 47 | verifyException("org.bukkit.Bukkit", e); 48 | } 49 | } 50 | 51 | @Test(timeout = 4000) 52 | public void test3() throws Throwable { 53 | OpenGUI openGUI0 = OpenGUI.INSTANCE; 54 | Map map0 = openGUI0.getGUIs(); 55 | assertEquals(0, map0.size()); 56 | } 57 | 58 | @Test(timeout = 4000) 59 | public void test4() throws Throwable { 60 | OpenGUI openGUI0 = OpenGUI.INSTANCE; 61 | Plugin plugin0 = openGUI0.getInstance(); 62 | assertNull(plugin0); 63 | } 64 | 65 | @Test(timeout = 4000) 66 | public void test5() throws Throwable { 67 | OpenGUI openGUI0 = OpenGUI.INSTANCE; 68 | Map map0 = openGUI0.getGuiMap(); 69 | assertEquals(0, map0.size()); 70 | } 71 | 72 | @Test(timeout = 4000) 73 | public void test6() throws Throwable { 74 | OpenGUI openGUI0 = OpenGUI.INSTANCE; 75 | GUIExtender gUIExtender0 = openGUI0.getGUI((-16)); 76 | assertNull(gUIExtender0); 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/OpenGUI_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:22:58 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class OpenGUI_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.OpenGUI"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(OpenGUI_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.plugin.Plugin", 59 | "org.bukkit.event.inventory.InventoryEvent", 60 | "org.bukkit.command.TabCompleter", 61 | "org.bukkit.permissions.ServerOperator", 62 | "org.bukkit.configuration.ConfigurationSection", 63 | "org.bukkit.event.Event", 64 | "org.bukkit.configuration.MemorySection", 65 | "org.bukkit.entity.Player", 66 | "pl.socketbyte.opengui.GUIExtender", 67 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 68 | "org.bukkit.inventory.Inventory", 69 | "org.bukkit.generator.ChunkGenerator", 70 | "pl.socketbyte.opengui.event.ElementResponse", 71 | "org.bukkit.projectiles.ProjectileSource", 72 | "org.bukkit.Bukkit", 73 | "org.bukkit.attribute.Attributable", 74 | "org.bukkit.command.CommandSender", 75 | "org.bukkit.entity.Entity", 76 | "org.bukkit.event.inventory.InventoryInteractEvent", 77 | "org.bukkit.event.inventory.InventoryClickEvent", 78 | "org.bukkit.event.inventory.InventoryDragEvent", 79 | "org.bukkit.entity.LivingEntity", 80 | "org.bukkit.command.TabExecutor", 81 | "org.bukkit.OfflinePlayer", 82 | "org.bukkit.plugin.java.JavaPlugin", 83 | "org.bukkit.Nameable", 84 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 85 | "org.bukkit.conversations.Conversable", 86 | "org.bukkit.event.inventory.InventoryOpenEvent", 87 | "org.bukkit.command.Command", 88 | "pl.socketbyte.opengui.event.WindowResponse", 89 | "org.bukkit.plugin.PluginLoader", 90 | "pl.socketbyte.opengui.GUIExtenderItem", 91 | "org.bukkit.entity.Damageable", 92 | "org.bukkit.event.Cancellable", 93 | "org.bukkit.configuration.Configuration", 94 | "org.bukkit.entity.AnimalTamer", 95 | "org.bukkit.configuration.MemoryConfiguration", 96 | "pl.socketbyte.opengui.OpenGUI", 97 | "org.bukkit.event.inventory.InventoryCloseEvent", 98 | "org.bukkit.configuration.file.FileConfiguration", 99 | "org.bukkit.Server", 100 | "pl.socketbyte.opengui.ItemBuilder", 101 | "pl.socketbyte.opengui.GUI", 102 | "org.bukkit.event.Listener", 103 | "org.bukkit.entity.HumanEntity", 104 | "org.bukkit.plugin.PluginBase", 105 | "org.bukkit.permissions.Permissible", 106 | "org.bukkit.command.CommandExecutor", 107 | "pl.socketbyte.opengui.ItemPack", 108 | "org.bukkit.inventory.InventoryHolder", 109 | "pl.socketbyte.opengui.GUISettings", 110 | "org.bukkit.metadata.Metadatable", 111 | "org.bukkit.plugin.PluginDescriptionFile" 112 | ); 113 | } 114 | 115 | private static void resetClasses() { 116 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(OpenGUI_ESTest_scaffolding.class.getClassLoader()); 117 | 118 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 119 | "pl.socketbyte.opengui.OpenGUI", 120 | "org.bukkit.Bukkit", 121 | "org.bukkit.event.EventPriority" 122 | ); 123 | } 124 | 125 | @Before 126 | public void initTestCase() { 127 | threadStopper.storeCurrentThreads(); 128 | threadStopper.startRecordingTime(); 129 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 130 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 131 | setSystemProperties(); 132 | org.evosuite.runtime.GuiSupport.setHeadless(); 133 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 134 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 135 | } 136 | 137 | @After 138 | public void doneWithTestCase() { 139 | threadStopper.killAndJoinClientThreads(); 140 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 141 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 142 | resetClasses(); 143 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 144 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 145 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/Rows_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:22:19 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import static org.junit.Assert.assertEquals; 14 | import static org.junit.Assert.assertNotNull; 15 | 16 | @RunWith(EvoRunner.class) 17 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 18 | public class Rows_ESTest extends Rows_ESTest_scaffolding { 19 | 20 | @Test(timeout = 4000) 21 | public void test0() throws Throwable { 22 | Rows[] rowsArray0 = Rows.values(); 23 | assertNotNull(rowsArray0); 24 | } 25 | 26 | @Test(timeout = 4000) 27 | public void test1() throws Throwable { 28 | Rows rows0 = Rows.valueOf("FOUR"); 29 | assertEquals(36, rows0.getSlots()); 30 | } 31 | 32 | @Test(timeout = 4000) 33 | public void test2() throws Throwable { 34 | Rows rows0 = Rows.THREE; 35 | int int0 = rows0.getSlots(); 36 | assertEquals(27, int0); 37 | } 38 | 39 | @Test(timeout = 4000) 40 | public void test3() throws Throwable { 41 | Rows rows0 = Rows.FIVE; 42 | int int0 = rows0.getSlots(); 43 | assertEquals(45, int0); 44 | } 45 | 46 | @Test(timeout = 4000) 47 | public void test4() throws Throwable { 48 | Rows rows0 = Rows.THREE; 49 | rows0.setSlots((-55)); 50 | assertEquals((-55), rows0.getSlots()); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/Rows_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:22:19 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class Rows_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.Rows"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(Rows_ESTest_scaffolding.class.getClassLoader(), 58 | "pl.socketbyte.opengui.Rows" 59 | ); 60 | } 61 | 62 | private static void resetClasses() { 63 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(Rows_ESTest_scaffolding.class.getClassLoader()); 64 | 65 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 66 | "pl.socketbyte.opengui.Rows" 67 | ); 68 | } 69 | 70 | @Before 71 | public void initTestCase() { 72 | threadStopper.storeCurrentThreads(); 73 | threadStopper.startRecordingTime(); 74 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 75 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 76 | setSystemProperties(); 77 | org.evosuite.runtime.GuiSupport.setHeadless(); 78 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 79 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 80 | } 81 | 82 | @After 83 | public void doneWithTestCase() { 84 | threadStopper.killAndJoinClientThreads(); 85 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 86 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 87 | resetClasses(); 88 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 89 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 90 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/SimpleGUI_ESTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was automatically generated by EvoSuite 3 | * Thu Dec 07 18:23:37 GMT 2017 4 | */ 5 | 6 | package pl.socketbyte.opengui; 7 | 8 | import org.evosuite.runtime.EvoRunner; 9 | import org.evosuite.runtime.EvoRunnerParameters; 10 | import org.junit.Test; 11 | import org.junit.runner.RunWith; 12 | 13 | import static org.evosuite.runtime.EvoAssertions.verifyException; 14 | import static org.junit.Assert.fail; 15 | 16 | @RunWith(EvoRunner.class) 17 | @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) 18 | public class SimpleGUI_ESTest extends SimpleGUI_ESTest_scaffolding { 19 | 20 | @Test(timeout = 4000) 21 | public void test0() throws Throwable { 22 | SimpleGUI simpleGUI0 = null; 23 | try { 24 | simpleGUI0 = new SimpleGUI(null); 25 | fail("Expecting exception: NullPointerException"); 26 | 27 | } catch (NullPointerException e) { 28 | // 29 | // no message in exception (getMessage() returned null) 30 | // 31 | verifyException("org.bukkit.Bukkit", e); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/pl/socketbyte/opengui/SimpleGUI_ESTest_scaffolding.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Scaffolding file used to store all the setups needed to run 3 | * tests automatically generated by EvoSuite 4 | * Thu Dec 07 18:23:37 GMT 2017 5 | */ 6 | 7 | package pl.socketbyte.opengui; 8 | 9 | import org.evosuite.runtime.annotation.EvoSuiteClassExclude; 10 | import org.evosuite.runtime.sandbox.Sandbox; 11 | import org.junit.After; 12 | import org.junit.AfterClass; 13 | import org.junit.Before; 14 | import org.junit.BeforeClass; 15 | 16 | @EvoSuiteClassExclude 17 | public class SimpleGUI_ESTest_scaffolding { 18 | 19 | private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); 20 | @org.junit.Rule 21 | public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); 22 | private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper(org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); 23 | 24 | 25 | @BeforeClass 26 | public static void initEvoSuiteFramework() { 27 | org.evosuite.runtime.RuntimeSettings.className = "pl.socketbyte.opengui.SimpleGUI"; 28 | org.evosuite.runtime.GuiSupport.initialize(); 29 | org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; 30 | org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; 31 | org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; 32 | org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; 33 | org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); 34 | org.evosuite.runtime.classhandling.JDKClassResetter.init(); 35 | setSystemProperties(); 36 | initializeClasses(); 37 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 38 | } 39 | 40 | @AfterClass 41 | public static void clearEvoSuiteFramework() { 42 | Sandbox.resetDefaultSecurityManager(); 43 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 44 | } 45 | 46 | public static void setSystemProperties() { 47 | 48 | java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); 49 | java.lang.System.setProperty("file.encoding", "Cp1250"); 50 | java.lang.System.setProperty("java.awt.headless", "true"); 51 | java.lang.System.setProperty("user.country", "PL"); 52 | java.lang.System.setProperty("user.language", "pl"); 53 | java.lang.System.setProperty("user.timezone", "Europe/Belgrade"); 54 | } 55 | 56 | private static void initializeClasses() { 57 | org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(SimpleGUI_ESTest_scaffolding.class.getClassLoader(), 58 | "org.bukkit.event.inventory.InventoryEvent", 59 | "org.bukkit.command.TabCompleter", 60 | "org.bukkit.permissions.ServerOperator", 61 | "org.bukkit.ChatColor$19", 62 | "org.bukkit.ChatColor$18", 63 | "org.bukkit.event.Event", 64 | "org.bukkit.ChatColor$17", 65 | "org.bukkit.ChatColor$16", 66 | "pl.socketbyte.opengui.GUIExtender", 67 | "org.bukkit.ChatColor$15", 68 | "org.bukkit.ChatColor$14", 69 | "org.bukkit.ChatColor$13", 70 | "org.bukkit.ChatColor$12", 71 | "org.bukkit.ChatColor$22", 72 | "org.bukkit.ChatColor$21", 73 | "org.bukkit.ChatColor$20", 74 | "org.bukkit.boss.BarColor", 75 | "org.bukkit.World", 76 | "org.bukkit.inventory.InventoryView$Property", 77 | "pl.socketbyte.opengui.event.ElementResponse", 78 | "org.bukkit.projectiles.ProjectileSource", 79 | "org.bukkit.command.CommandSender", 80 | "org.bukkit.entity.Entity", 81 | "org.bukkit.advancement.Advancement", 82 | "org.bukkit.OfflinePlayer", 83 | "org.bukkit.inventory.ItemStack", 84 | "org.bukkit.command.TabExecutor", 85 | "pl.socketbyte.opengui.SimpleGUI", 86 | "org.bukkit.ChatColor$11", 87 | "org.bukkit.ChatColor$10", 88 | "org.bukkit.inventory.InventoryView", 89 | "org.bukkit.BanList$Type", 90 | "org.bukkit.conversations.Conversable", 91 | "org.bukkit.event.inventory.InventoryOpenEvent", 92 | "pl.socketbyte.opengui.event.WindowResponse", 93 | "org.bukkit.boss.BarFlag", 94 | "org.bukkit.event.HandlerList", 95 | "org.bukkit.Warning$WarningState", 96 | "org.bukkit.event.inventory.InventoryCloseEvent", 97 | "org.bukkit.Keyed", 98 | "org.bukkit.Server", 99 | "org.bukkit.plugin.ServicesManager", 100 | "pl.socketbyte.opengui.GUI", 101 | "org.bukkit.plugin.messaging.Messenger", 102 | "org.bukkit.scheduler.BukkitScheduler", 103 | "org.bukkit.event.inventory.InventoryType$SlotType", 104 | "org.bukkit.plugin.PluginBase", 105 | "org.bukkit.util.CachedServerIcon", 106 | "org.bukkit.inventory.InventoryHolder", 107 | "org.bukkit.boss.BossBar", 108 | "org.bukkit.event.EventPriority", 109 | "org.bukkit.plugin.PluginManager", 110 | "org.bukkit.plugin.Plugin", 111 | "org.bukkit.command.ConsoleCommandSender", 112 | "org.bukkit.help.HelpMap", 113 | "org.bukkit.entity.Player", 114 | "org.bukkit.configuration.serialization.ConfigurationSerializable", 115 | "org.bukkit.inventory.Inventory", 116 | "org.bukkit.inventory.Merchant", 117 | "org.bukkit.UnsafeValues", 118 | "org.bukkit.inventory.Recipe", 119 | "org.bukkit.Bukkit", 120 | "org.bukkit.attribute.Attributable", 121 | "org.bukkit.inventory.ItemFactory", 122 | "org.bukkit.event.inventory.InventoryInteractEvent", 123 | "org.bukkit.BanList", 124 | "org.bukkit.event.inventory.InventoryClickEvent", 125 | "org.bukkit.entity.LivingEntity", 126 | "org.bukkit.command.PluginCommand", 127 | "org.bukkit.plugin.java.JavaPlugin", 128 | "org.bukkit.Nameable", 129 | "org.bukkit.plugin.messaging.PluginMessageRecipient", 130 | "org.bukkit.command.Command", 131 | "org.bukkit.command.CommandException", 132 | "org.bukkit.event.inventory.ClickType", 133 | "org.bukkit.Server$Spigot", 134 | "org.bukkit.entity.Damageable", 135 | "org.bukkit.event.Cancellable", 136 | "org.bukkit.entity.AnimalTamer", 137 | "pl.socketbyte.opengui.OpenGUI", 138 | "org.bukkit.WorldCreator", 139 | "org.bukkit.GameMode", 140 | "org.bukkit.boss.BarStyle", 141 | "org.bukkit.map.MapView", 142 | "org.bukkit.event.Listener", 143 | "net.md_5.bungee.api.ChatColor", 144 | "org.bukkit.entity.HumanEntity", 145 | "org.bukkit.ChatColor$6", 146 | "org.bukkit.ChatColor$5", 147 | "org.bukkit.generator.ChunkGenerator$ChunkData", 148 | "org.bukkit.ChatColor$4", 149 | "org.bukkit.event.inventory.InventoryAction", 150 | "org.bukkit.ChatColor$3", 151 | "org.bukkit.NamespacedKey", 152 | "org.bukkit.event.inventory.InventoryType", 153 | "org.bukkit.ChatColor$2", 154 | "org.bukkit.scoreboard.ScoreboardManager", 155 | "org.bukkit.ChatColor$1", 156 | "org.bukkit.permissions.Permissible", 157 | "org.bukkit.command.PluginIdentifiableCommand", 158 | "org.bukkit.command.CommandExecutor", 159 | "org.bukkit.ChatColor$9", 160 | "org.bukkit.ChatColor$8", 161 | "org.bukkit.ChatColor$7", 162 | "org.bukkit.plugin.RegisteredListener", 163 | "pl.socketbyte.opengui.GUISettings", 164 | "org.bukkit.metadata.Metadatable", 165 | "org.bukkit.ChatColor" 166 | ); 167 | } 168 | 169 | private static void resetClasses() { 170 | org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(SimpleGUI_ESTest_scaffolding.class.getClassLoader()); 171 | 172 | org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( 173 | "org.bukkit.event.EventPriority", 174 | "org.bukkit.Bukkit", 175 | "pl.socketbyte.opengui.OpenGUI", 176 | "org.bukkit.ChatColor$1", 177 | "org.bukkit.ChatColor$2", 178 | "org.bukkit.ChatColor$3", 179 | "org.bukkit.ChatColor$4", 180 | "org.bukkit.ChatColor$5", 181 | "org.bukkit.ChatColor$6", 182 | "org.bukkit.ChatColor$7", 183 | "org.bukkit.ChatColor$8", 184 | "org.bukkit.ChatColor$9", 185 | "org.bukkit.ChatColor$10", 186 | "org.bukkit.ChatColor$11", 187 | "org.bukkit.ChatColor$12", 188 | "org.bukkit.ChatColor$13", 189 | "org.bukkit.ChatColor$14", 190 | "org.bukkit.ChatColor$15", 191 | "org.bukkit.ChatColor$16", 192 | "org.bukkit.ChatColor$17", 193 | "org.bukkit.ChatColor$18", 194 | "org.bukkit.ChatColor$19", 195 | "org.bukkit.ChatColor$20", 196 | "org.bukkit.ChatColor$21", 197 | "org.bukkit.ChatColor$22", 198 | "org.bukkit.ChatColor", 199 | "org.bukkit.event.HandlerList", 200 | "org.bukkit.event.inventory.InventoryEvent", 201 | "org.bukkit.event.inventory.InventoryClickEvent", 202 | "org.bukkit.inventory.InventoryView", 203 | "org.bukkit.event.inventory.InventoryOpenEvent", 204 | "org.bukkit.event.inventory.InventoryCloseEvent" 205 | ); 206 | } 207 | 208 | @Before 209 | public void initTestCase() { 210 | threadStopper.storeCurrentThreads(); 211 | threadStopper.startRecordingTime(); 212 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); 213 | org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); 214 | setSystemProperties(); 215 | org.evosuite.runtime.GuiSupport.setHeadless(); 216 | org.evosuite.runtime.Runtime.getInstance().resetRuntime(); 217 | org.evosuite.runtime.agent.InstrumentingAgent.activate(); 218 | } 219 | 220 | @After 221 | public void doneWithTestCase() { 222 | threadStopper.killAndJoinClientThreads(); 223 | org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); 224 | org.evosuite.runtime.classhandling.JDKClassResetter.reset(); 225 | resetClasses(); 226 | org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); 227 | org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); 228 | org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); 229 | } 230 | } 231 | --------------------------------------------------------------------------------