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());
}
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());
}
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();
}
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);
}
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);
}
Aggregations