@Test
public void testResolveValues() {

    List<NifiProperty> props = new ArrayList<>();
    props.add(newProperty("test.property", "${a}/${b} "));
    props.add(newProperty("test.property2", "${a2}/${c} "));
    props.add(newProperty("d", "fred"));
    props.add(newProperty("a", "${b} "));
    props.add(newProperty("b", "${c}"));
    props.add(newProperty("c", "${d}"));
    PropertyExpressionResolver.ResolvedVariables variables = resolver.resolveVariables("${a} - ${b} - ${test.property2}", props);
    Assert.assertEquals("fred - fred - ${a2}/fred", variables.getResolvedString());
    Map<String, String> resolvedVariables = variables.getResolvedVariables();
    Assert.assertEquals("fred", resolvedVariables.get("a"));
    Assert.assertEquals("fred", resolvedVariables.get("b"));
    Assert.assertEquals("fred", resolvedVariables.get("c"));
    Assert.assertEquals("fred", resolvedVariables.get("d"));
    Assert.assertEquals("${a2}/fred", resolvedVariables.get("test.property2"));
    Assert.assertEquals(5, resolvedVariables.size());
    System.out.println(resolvedVariables);
}