Skip to content

Instantly share code, notes, and snippets.

@Eyas
Created May 25, 2020 17:48
Show Gist options
  • Save Eyas/31354f0d08ad164ed0aa7ace4e0e3a81 to your computer and use it in GitHub Desktop.
Save Eyas/31354f0d08ad164ed0aa7ace4e0e3a81 to your computer and use it in GitHub Desktop.
test("Parse_ParameterListSimple", () => {
const { expression } = ParseEntireExpression(Tokens("F(a+b)"));
expect(expression).toBeInstanceOf(FunctionCallAST);
expect(expression.Parameters).toHaveLength(1);
expect(expression.Parameters[0]).toBeInstanceOf(BinaryExpressionAST);
expect(expression.Parameters[0].Type).toBe(TokenType.Plus);
expect(expression.Parameters[0].LHS).toBeInstanceOf(VariableAST);
expect(expression.Parameters[0].LHS.VariableName).toBe("b");
expect(expression.Parameters[0].RHS).toBeInstanceOf(VariableAST);
expect(expression.Parameters[0].RHS.VariableName).toBe("a");
expect(expression.FunctionPointer).toBeInstanceOf(VariableAST);
expect(expression.FunctionPointer.VariableName).toBe("F");
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment