jsoniq
Version:
JSONiq implementation for JavaScript
20 lines (18 loc) • 3.22 kB
JavaScript
;
/// <reference path="../../../typings/tsd.d.ts" />
var u = require("./Utils");
describe("Test Arithmetic Operation: ", () => {
it("add(1, 1)", () => {
return u.expectQuery("1 + 1").toEqual([2]);
});
it("add(1, 1.5)", () => {
return u.expectQuery("2 + 1.5").toEqual([3.5]);
});
it("multiple operations", () => {
return u.expectQuery("1 + 1 + 1 - 1 - 1 + 10 - 1, (1 to 5), (1, (), 2, 3), 20.1 idiv 1.678, 10 div 2, 2 * 5, true, false, \"Hello\", \"World\"", true).toEqual([10, 1, 2, 3, 4, 5, 1, 2, 3, 11, 5, 10, true, false, "Hello", "World"]);
});
it("to(1, add(5, 1))", () => {
return u.expectQuery("(1 to 5 + 1)").toEqual([1, 2, 3, 4, 5, 6]);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3RzL25vZGUvcnVudGltZS9Bcml0aG1ldGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrREFBa0Q7QUFDbEQsSUFBWSxDQUFDLFdBQU0sU0FBUyxDQUFDLENBQUE7QUFFN0IsUUFBUSxDQUFDLDZCQUE2QixFQUFFO0lBRXBDLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDWixNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGFBQWEsRUFBRTtRQUNkLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUJBQXFCLEVBQUU7UUFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQ2hCLDBIQUEwSCxFQUMxSCxJQUFJLENBQ1AsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtCQUFrQixFQUFFO1FBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3RzL25vZGUvcnVudGltZS9Bcml0aG1ldGljLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uLy4uLy4uL3R5cGluZ3MvdHNkLmQudHNcIiAvPlxuaW1wb3J0ICogYXMgdSBmcm9tIFwiLi9VdGlsc1wiO1xuXG5kZXNjcmliZShcIlRlc3QgQXJpdGhtZXRpYyBPcGVyYXRpb246IFwiLCAoKSA9PiB7XG5cbiAgICBpdChcImFkZCgxLCAxKVwiLCAoKSA9PiB7XG4gICAgICAgIHJldHVybiB1LmV4cGVjdFF1ZXJ5KFwiMSArIDFcIikudG9FcXVhbChbMl0pO1xuICAgIH0pO1xuXG4gICAgaXQoXCJhZGQoMSwgMS41KVwiLCAoKSA9PiB7XG4gICAgICAgIHJldHVybiB1LmV4cGVjdFF1ZXJ5KFwiMiArIDEuNVwiKS50b0VxdWFsKFszLjVdKTtcbiAgICB9KTtcblxuICAgIGl0KFwibXVsdGlwbGUgb3BlcmF0aW9uc1wiLCAoKSA9PiB7XG4gICAgICAgIHJldHVybiB1LmV4cGVjdFF1ZXJ5KFxuICAgICAgICAgICAgXCIxICsgMSArIDEgLSAxIC0gMSArIDEwIC0gMSwgKDEgdG8gNSksICgxLCAoKSwgMiwgMyksIDIwLjEgaWRpdiAxLjY3OCwgMTAgZGl2IDIsIDIgKiA1LCB0cnVlLCBmYWxzZSwgXFxcIkhlbGxvXFxcIiwgXFxcIldvcmxkXFxcIlwiLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApLnRvRXF1YWwoWzEwLCAxLCAyLCAzLCA0LCA1LCAxLCAyLCAzLCAxMSwgNSwgMTAsIHRydWUsIGZhbHNlLCBcIkhlbGxvXCIsIFwiV29ybGRcIl0pO1xuICAgIH0pO1xuXG4gICAgaXQoXCJ0bygxLCBhZGQoNSwgMSkpXCIsICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHUuZXhwZWN0UXVlcnkoXCIoMSB0byA1ICsgMSlcIikudG9FcXVhbChbMSwgMiwgMywgNCwgNSwgNl0pO1xuICAgIH0pO1xufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=