opengenerals/shared/utility/test/buffer.test.js

49 lines
1.3 KiB
JavaScript

// test.js
import assert from 'node:assert/strict';
import { areArrayBuffersEqual } from '../buffer.mjs';
describe('areArrayBuffersEqual', function () {
it('should return true for equal ArrayBuffers', function () {
const buffer1 = new ArrayBuffer(4);
const view1 = new DataView(buffer1);
view1.setInt8(0, 1);
view1.setInt8(1, 2);
view1.setInt8(2, 3);
view1.setInt8(3, 4);
const buffer2 = new ArrayBuffer(4);
const view2 = new DataView(buffer2);
view2.setInt8(0, 1);
view2.setInt8(1, 2);
view2.setInt8(2, 3);
view2.setInt8(3, 4);
assert.equal(areArrayBuffersEqual(buffer1, buffer2), true);
});
it('should return false for different length ArrayBuffers', function () {
const buffer1 = new ArrayBuffer(4);
const buffer2 = new ArrayBuffer(8);
assert.equal(areArrayBuffersEqual(buffer1, buffer2), false);
});
it('should return false for different content ArrayBuffers', function () {
const buffer1 = new ArrayBuffer(4);
const view1 = new DataView(buffer1);
view1.setInt8(0, 1);
view1.setInt8(1, 2);
view1.setInt8(2, 3);
view1.setInt8(3, 4);
const buffer2 = new ArrayBuffer(4);
const view2 = new DataView(buffer2);
view2.setInt8(0, 5);
view2.setInt8(1, 6);
view2.setInt8(2, 7);
view2.setInt8(3, 8);
assert.equal(areArrayBuffersEqual(buffer1, buffer2), false);
});
});