final BeansWrapper bw = new BeansWrapper();
assertTrue(((TemplateBooleanModel) bw.wrap(Boolean.TRUE)).getAsBoolean());
assertFalse(((TemplateBooleanModel) bw.wrap(Boolean.FALSE)).getAsBoolean());
TemplateHashModel tm = (TemplateHashModel) bw.wrap(Boolean.TRUE);
assertNotNull(tm.get("hashCode"));
assertNotNull(tm.get("class"));
bw.setExposureLevel(BeansWrapper.EXPOSE_PROPERTIES_ONLY);
assertNull(tm.get("hashCode"));
assertNotNull(tm.get("class"));
bw.setExposureLevel(BeansWrapper.EXPOSE_NOTHING);
assertNull(tm.get("hashCode"));
assertNull(tm.get("class"));
bw.setExposureLevel(BeansWrapper.EXPOSE_ALL);
assertNotNull(tm.get("hashCode"));
assertNotNull(tm.get("class"));
assertSame(tm, bw.wrap(Boolean.TRUE));
}