Search in sources :

Example 11 with PlaceholderTest

use of js.PlaceholderTest in project TriggerReactor by wysohn.

the class AbstractTestPlaceholder method testIsNumber.

@Test
public void testIsNumber() throws Exception {
    assertEquals(true, new PlaceholderTest(engine, "isnumber").withArgs("20342.5352").test());
    assertEquals(false, new PlaceholderTest(engine, "isnumber").withArgs("20343d.66").test());
}
Also used : PlaceholderTest(js.PlaceholderTest) Test(org.junit.Test) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest)

Example 12 with PlaceholderTest

use of js.PlaceholderTest in project TriggerReactor by wysohn.

the class AbstractTestPlaceholder method testBlockName.

@Test
public void testBlockName() throws Exception {
    World world = mock(World.class);
    Block block = mock(Block.class);
    when(server.getWorld(anyString())).thenReturn(world);
    when(world.getBlockAt(0, 1, 5)).thenReturn(block);
    when(block.getType()).thenReturn(Material.DIAMOND_BLOCK);
    assertEquals("diamond_block", new PlaceholderTest(engine, "blockname").withArgs("world", 0, 1, 5).test());
}
Also used : PlaceholderTest(js.PlaceholderTest) Block(org.bukkit.block.Block) World(org.bukkit.World) Test(org.junit.Test) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest)

Example 13 with PlaceholderTest

use of js.PlaceholderTest in project TriggerReactor by wysohn.

the class AbstractTestPlaceholder method testPlayernameMultiThreaded.

@Test
public void testPlayernameMultiThreaded() throws Exception {
    Player mockPlayer = mock(Player.class);
    ExecutorService pool = Executors.newSingleThreadExecutor();
    when(mockPlayer.getName()).thenReturn("wysohn");
    when(mockMain.isServerThread()).thenReturn(false);
    when(mockMain.callSyncMethod(any(Callable.class))).then(invocation -> {
        Callable call = invocation.getArgument(0);
        return pool.submit(call);
    });
    Runnable run = new Runnable() {

        final JsTest test = new PlaceholderTest(engine, "playername").addVariable("player", mockPlayer);

        @Override
        public void run() {
            for (int i = 0; i < 1000; i++) {
                Object result = null;
                try {
                    result = test.test();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                assertEquals("wysohn", result);
            }
        }
    };
    Thread.UncaughtExceptionHandler handler = mock(Thread.UncaughtExceptionHandler.class);
    Thread thread1 = new Thread(run);
    thread1.setUncaughtExceptionHandler(handler);
    Thread thread2 = new Thread(run);
    thread2.setUncaughtExceptionHandler(handler);
    thread1.start();
    thread2.start();
    thread1.join();
    thread2.join();
    verify(handler, never()).uncaughtException(any(), any());
    verify(mockPlayer, times(2000)).getName();
}
Also used : Player(org.bukkit.entity.Player) ExecutorService(java.util.concurrent.ExecutorService) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest) Callable(java.util.concurrent.Callable) Test(org.junit.Test) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest)

Example 14 with PlaceholderTest

use of js.PlaceholderTest in project TriggerReactor by wysohn.

the class AbstractTestPlaceholder method testName.

@Test
public void testName() throws Exception {
    ItemStack vItem = mock(ItemStack.class);
    ItemMeta vIM = mock(ItemMeta.class);
    when(vItem.hasItemMeta()).thenReturn(true);
    when(vItem.getItemMeta()).thenReturn(vIM);
    when(vIM.hasDisplayName()).thenReturn(true);
    when(vIM.getDisplayName()).thenReturn("awwman");
    PlaceholderTest test = new PlaceholderTest(engine, "name");
    Object result = test.withArgs(vItem).test();
    Assert.assertEquals(result, "awwman");
    test.assertInvalid("hi");
    test.assertInvalid(true);
    test.assertInvalid(35);
}
Also used : PlaceholderTest(js.PlaceholderTest) ItemStack(org.bukkit.inventory.ItemStack) ItemMeta(org.bukkit.inventory.meta.ItemMeta) Test(org.junit.Test) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest)

Example 15 with PlaceholderTest

use of js.PlaceholderTest in project TriggerReactor by wysohn.

the class AbstractTestPlaceholder method testSlot.

@Test
public void testSlot() throws Exception {
    InventoryClickEvent vEvent = mock(InventoryClickEvent.class);
    ItemStack vItem = mock(ItemStack.class);
    Inventory vInv = mock(Inventory.class);
    when(vEvent.getInventory()).thenReturn(vInv);
    when(vInv.getSize()).thenReturn(36);
    when(vInv.getItem(2)).thenReturn(vItem);
    PlaceholderTest test = new PlaceholderTest(engine, "slot");
    test.addVariable("event", vEvent);
    ItemStack result = (ItemStack) test.withArgs(2).test();
    Assert.assertEquals(result, vItem);
    test.assertInvalid("hi");
    test.assertInvalid(true);
}
Also used : InventoryClickEvent(org.bukkit.event.inventory.InventoryClickEvent) PlaceholderTest(js.PlaceholderTest) ItemStack(org.bukkit.inventory.ItemStack) Inventory(org.bukkit.inventory.Inventory) PlayerInventory(org.bukkit.inventory.PlayerInventory) Test(org.junit.Test) PlaceholderTest(js.PlaceholderTest) JsTest(js.JsTest)

Aggregations

JsTest (js.JsTest)16 PlaceholderTest (js.PlaceholderTest)16 Test (org.junit.Test)16 ItemStack (org.bukkit.inventory.ItemStack)9 Player (org.bukkit.entity.Player)5 PlayerInventory (org.bukkit.inventory.PlayerInventory)4 Material (org.bukkit.Material)3 ItemMeta (org.bukkit.inventory.meta.ItemMeta)2 ArrayList (java.util.ArrayList)1 Callable (java.util.concurrent.Callable)1 ExecutorService (java.util.concurrent.ExecutorService)1 World (org.bukkit.World)1 Block (org.bukkit.block.Block)1 Entity (org.bukkit.entity.Entity)1 EntityEvent (org.bukkit.event.entity.EntityEvent)1 InventoryClickEvent (org.bukkit.event.inventory.InventoryClickEvent)1 PlayerCommandPreprocessEvent (org.bukkit.event.player.PlayerCommandPreprocessEvent)1 Inventory (org.bukkit.inventory.Inventory)1 ItemFactory (org.bukkit.inventory.ItemFactory)1