/** Tests op lookups by class. */ @Test public void testMatchingByClass() { Op op = ops.op("test.arrr!", (Object) null); assertSame(FirstMate.class, op.getClass()); op = ops.op("test.arrr!", (EyePatch) null); assertSame(FirstMate.class, op.getClass()); op = ops.op("test.arrr!", (Booty) null); assertSame(FirstMate.class, op.getClass()); op = ops.op("test.arrr!", EyePatch.class); assertSame(FirstMate.class, op.getClass()); op = ops.op("test.arrr!", Booty.class); assertSame(Captain.class, op.getClass()); }
/** Tests {@link OpService#op(String, Object...)}. */ @Test public void testOpByName() { final DoubleType value = new DoubleType(123.456); final Op op = ops.op("test.infinity", value); assertSame(InfinityOp.class, op.getClass()); assertFalse(Double.isInfinite(value.get())); op.run(); assertTrue(Double.isInfinite(value.get())); }