record.getFields().put("hates", "milk"); assertEquals(Arrays.asList("foo"), resolveExpression("foo", record)); assertEquals(Arrays.asList(""), resolveExpression("", record)); assertEquals(Arrays.asList("Nadja"), resolveExpression("@{first_name}", record)); assertEquals(Arrays.asList("pembo", "shanti"), resolveExpression("@{likes}", record)); assertEquals(Arrays.asList("Ms. Nadja"), resolveExpression("Ms. @{first_name}", record)); assertEquals(Arrays.asList(), resolveExpression("Ms. @{nonExistingField}", record)); assertEquals(Arrays.asList(), resolveExpression("@{nonExistingField}", record)); resolveExpression("Ms. @{first_name} is @{age} years old.", record)); "is 2 years", "is three years"), resolveExpression("is @{tags} years", record)); "Ms. Nadja is 2 years old.", "Ms. Nadja is three years old."), resolveExpression("Ms. @{first_name} is @{tags} years old.", record)); "She likes shanti and hates brothers.", "She likes shanti and hates milk."), resolveExpression("She likes @{likes} and hates @{hates}.", record));