"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const index_1 = require("../../util/array/index");
const assert_1 = require("../../util/assert");
const array_1 = require("../../util/array");
assert_1.assert.deepEqual((0, array_1.rotate)([1, 2, 3], 1), [2, 3, 1]);
assert_1.assert.deepEqual((0, index_1.matchAll)([], [], () => true), []);
assert_1.assert.deepEqual((0, index_1.matchAll)([0], [], () => true), []);
assert_1.assert.deepEqual((0, index_1.matchAll)([0], [0], () => true), [[0, 0]]);
assert_1.assert.deepEqual((0, index_1.matchAll)([0], [0, 1], () => true), [
    [0, 0],
    [0, 1],
]);
assert_1.assert.deepEqual((0, index_1.matchAll)([0, 1], [0, 1], () => true), [
    [0, 0],
    [0, 1],
    [1, 0],
    [1, 1],
]);
assert_1.assert.deepEqual((0, index_1.matchAll)([0, 1], [0, 1], (ai, bi) => ai * bi > 0), [[1, 1]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([], [], () => true), []);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0], [], () => true), []);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0], [0], () => true), [[[0, 0]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0], [0, 1], () => true), [[[0, 0]], [[0, 1]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0, 1], [0, 1], () => true), [
    [
        [0, 0],
        [1, 1],
    ],
    [
        [0, 1],
        [1, 0],
    ],
    [
        [1, 0],
        [0, 1],
    ],
    [
        [1, 1],
        [0, 0],
    ],
]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0, 1], [0, 1], (ai, bi) => ai > bi), [[[1, 0]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([1, 0], [0, 1], (ai, bi) => ai > bi), [[[0, 0]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0, 1], [0, 1], (ai, bi) => ai * bi > 0), [[[1, 1]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0, 1], [0, 1], (ai, bi) => ai === 0), [[[0, 0]], [[0, 1]]]);
assert_1.assert.deepEqual((0, index_1.matchAllExc)([0, 1], [0, 1], (ai, bi) => ai === 0 && bi === 0), [[[0, 0]]]);
//# sourceMappingURL=array.js.map