@Test
public void testCreateDDMExpression() throws Exception {

	DDMExpressionFactoryImpl ddmExpressionFactoryImpl =
		new DDMExpressionFactoryImpl();
	ddmExpressionFactoryImpl.ddmExpressionFunctionTracker =
		_ddmExpressionFunctionTracker;
	when(
		_ddmExpressionFunctionTracker.getDDMExpressionFunctionFactories(
			Matchers.any())
	).thenReturn(
		HashMapBuilder.<String, DDMExpressionFunctionFactory>put(
			"pow", () -> new PowFunction()
		).build()
	);
	CreateExpressionRequest.Builder builder =
		CreateExpressionRequest.Builder.newBuilder("pow(2,3)");
	DDMExpression<BigDecimal> ddmExpression =
		ddmExpressionFactoryImpl.createExpression(builder.build());
	BigDecimal actual = ddmExpression.evaluate();
	Assert.assertEquals(0, actual.compareTo(new BigDecimal(8)));
}