### Question:
JasperCustomValues implements DRICustomValues { JasperScriptletManager getScriptletManager() { return scriptletManager; } JasperCustomValues(Properties properties); void addSimpleExpression(DRIDesignSimpleExpression simpleExpression); void addComplexExpression(DRIDesignComplexExpression complexExpression); void addChartCustomizers(String name, List<DRIChartCustomizer> chartCustomizers); void addValueType(String name, ValueType valueType); boolean isEmpty(); Object getValue(String valueName); Object getValue(String name, Object[] values); @Override void setSystemValue(String name, Object value); Integer getStartPageNumber(); void setStartPageNumber(Integer startPageNumber); @Override void addTocHeading(int level, String id, String text, Object customValue); @Override Map<String, JasperTocHeading> getTocHeadings(); @Override void setTocHeadings(Map<String, JasperTocHeading> tocHeadings); Integer getSubreportWidth(); @Override void setSubreportWidth(Integer subreportWidth); @Override String toString();  }### Answer:
@Test public void shouldUseThreadSafeScriptleManagerIfPropertySet() { JasperCustomValues cut = createClassUnderTest(true); Assert.assertTrue(cut.getScriptletManager() instanceof ThreadSafeJasperScriptletManager); }
@Test public void shouldUseDefaultScriptletManager() { JasperCustomValues cut = createClassUnderTest(false); Assert.assertTrue(cut.getScriptletManager() instanceof DefaultJasperScriptletManager); }