public String getValue(String template) {
      StringBuilder builder = new StringBuilder();

      // Just delegate parsing stuffs to Expression parser to retrieve all the expressions ordered.
      Expression[] expressions = ExpressionParser.parseExpressions(template, context, expressionPrefix,
            expressionSuffix);

      // Now just go through expressions and evaluate them.
      for (Expression expression : expressions) {
         builder.append(expression.getValue(context));
      }

      return builder.toString();
   }
@Test
   void testPostmanNotationCompatibility() {
      String template = "{\"signedAt\": \"{{ now() }}\", \"fullName\": \"{{ randomFullName() }}\", \"email\": \"{{ randomEmail() }}\", \"age\": {{ randomInt(20, 99) }}} \n";
      String postmanTemplate = "{\"signedAt\": \"{{ $timestamp }}\", \"fullName\": \"{{ $randomFullName }}\", \"email\": \"{{ $randomEmail }}\", \"age\": {{ $randomInt }}} \n";

      TemplateEngine engine = TemplateEngineFactory.getTemplateEngine();

      String content = null;
      String postmanContent = null;
      try {
         content = engine.getValue(template);
         postmanContent = engine.getValue(postmanTemplate);
      } catch (Throwable t) {
         fail("Contextless template should not fail.");
      }
      assertTrue(content.startsWith("{\"signedAt\": \"1"));
      assertTrue(postmanContent.startsWith("{\"signedAt\": \"1"));
   }