package liquibase.changelog; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; public class ExpressionExpanderTest { private ChangeLogParameters.ExpressionExpander handler; private ChangeLogParameters changeLogParameters; @Before public void setup() { changeLogParameters = new ChangeLogParameters(); this.handler = new ChangeLogParameters.ExpressionExpander(changeLogParameters); } @Test public void expandExpressions_nullValue() { assertNull(handler.expandExpressions(null)); } @Test public void expandExpressions_emptyString() { assertEquals("", handler.expandExpressions("")); } @Test public void expandExpressions_noExpression() { assertEquals("A Simple String", handler.expandExpressions("A Simple String")); } @Test public void expandExpressions_singleObjectExpression() { changeLogParameters.set("here", 4); assertEquals("A string with one expression 4 set", handler.expandExpressions("A string with one expression ${here} set")); } @Test public void expandExpressions_doubleObjectExpression() { changeLogParameters.set("here", 4); changeLogParameters.set("there", 15); assertEquals("A string with two expressions 4 and 15 set", handler.expandExpressions("A string with two expressions ${here} and ${there} set")); } @Test public void expandExpressions_nomatchExpression() { assertEquals("A string no expressions ${notset} set", handler.expandExpressions("A string no expressions ${notset} set")); assertEquals("A string no expressions ${notset.orParams} set", handler.expandExpressions("A string no expressions ${notset.orParams} set")); } }