You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RELOG/relog-web/src/casebuilder/expr.test.js

20 lines
701 B

import { evaluateExpr } from "./expr";
test("parse expression", () => {
// Basic expressions
expect(evaluateExpr("1 + 1")).toEqual(2);
expect(evaluateExpr("2 * 5")).toEqual(10);
expect(evaluateExpr("2 * (3 + 5)")).toEqual(16);
expect(evaluateExpr("14 / 2")).toEqual(7);
expect(evaluateExpr("10 - 3")).toEqual(7);
expect(evaluateExpr("-10")).toEqual(-10);
expect(evaluateExpr("+10")).toEqual(10);
expect(evaluateExpr("2^3")).toEqual(8);
expect(evaluateExpr("2^(3 + 1)")).toEqual(16);
// With data
expect(evaluateExpr("x + 1", { x: 10 })).toEqual(11);
expect(evaluateExpr("2 ^ (3 + x)", { x: 1 })).toEqual(16);
expect(evaluateExpr("x + y", { x: 1, y: 2 })).toEqual(3);
});