@Test
public void testVal() {

  assertThrows(NullPointerException.class, () -> Begin().Val(null, "a+b").End());
  assertThrows(NullPointerException.class, () -> Begin().Val("hello", null).End());
  assertThrows(IllegalArgumentException.class, () -> Begin().Val("", "a+b").End());
  assertThrows(IllegalArgumentException.class, () -> Begin().Val("hello", "").End());
  assertEquals("val:(a+b) hello;", Begin().Val("hello", "a+b").End());
}