@Test
  public void testCreateParameters_named() {
    TestBean bean = new TestBean(1L, "foo");
    ParameterSpec builder = new ParameterSpec<TestBean>(TestPage.class);
    builder.registerParameter("beanId", "id");
    builder.registerParameter("beanName", "name");

    PageParameters params = builder.createParameters(bean);
    Assert.assertEquals(bean.getId(), params.get("beanId").toLongObject());
    Assert.assertEquals(bean.getName(), params.get("beanName").toString());
  }
  @Test
  public void testParseParameters_named() {
    ParameterSpec builder = new ParameterSpec<TestBean>(TestPage.class);
    builder.registerParameter("beanId", "id");
    builder.registerParameter("beanName", "name");

    TestBean bean = new TestBean();
    PageParameters params = new PageParameters();
    params.set("beanId", "5");
    params.set("beanName", "hello");

    builder.parseParameters(params, bean);

    Assert.assertEquals((Long) 5L, bean.getId());
    Assert.assertEquals("hello", bean.getName());
  }
  @Test
  public void testCreateLink_named() {
    TestBean bean = new TestBean(1L, "foo");
    ParameterSpec builder = new ParameterSpec<TestBean>(TestPage.class);
    builder.registerParameter("beanId", "id");
    builder.registerParameter("beanName", "name");

    BookmarkablePageLink link = builder.createLink("bar", new Model(bean));
    this.tester.startComponent(link);

    Assert.assertEquals("bar", link.getId());
    Assert.assertEquals(TestPage.class, link.getPageClass());

    PageParameters params = link.getPageParameters();
    Assert.assertEquals(bean.getId(), params.get("beanId").toLongObject());
    Assert.assertEquals(bean.getName(), params.get("beanName").toString());
  }