public void testMultiLevelSubstitution() {
VariableSource sourceA = variableSource("a=${x}","b=${y}");
VariableSource sourceB = variableSource("x=$b","y=?");
VariableResolver tested = new VariableResolver(sourceA, sourceB);
assertEquals("?", tested.resolveValue("a"));
}
@Test(expected=IllegalStateException.class)
public void testCircularSubstitution() {
VariableSource sourceA = variableSource("a=${b}","b=${x}","x=$y","y=$z","z=$y");