### Question:
CDIExample { public void go(PrintStream out) { kSession.setGlobal("out", out); kSession.insert(new Message("Dave", "Hello, HAL. Do you read me, HAL?")); kSession.fireAllRules(); }  void go(PrintStream out); static void main(String[] args);  }### Answer:
@Test public void testGo() { Weld w = new Weld(); WeldContainer wc = w.initialize(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos); CDIExample bean = wc.instance().select(CDIExample.class).get(); bean.go(ps); ps.close(); String actual = new String(baos.toByteArray()); String expected = "" + "Dave: Hello, HAL. Do you read me, HAL?" + NL + "HAL: Dave. I read you." + NL; assertEquals(expected, actual); w.shutdown(); }