deep-copy-diagnostics
Version:
Ultra-fast definitive testing for deep copies and deep copy algorithms
83 lines (61 loc) • 2.34 kB
JavaScript
const {deepEquivalent} = require("../deep-equivalent.js")
function claim(b, message)
{
if(b) console.log(`\u2713 ${message} is true`)
else console.log(`\u2639 ${message} is false: should be true`)
console.log(deepEquivalent.message)
}
console.log('-----------------------------------------------------------------');
function test_1()
{
console.log("Test 1");
const source_v8 = new Uint8Array([10,20,30]);
const source_view = new DataView(source_v8.buffer)
const target_v8 = new Uint8Array([10,20,30]);
const target_view = new DataView(target_v8.buffer)
claim(deepEquivalent(source_view, target_view), 'deepEquivalent(source_view, target_view)')
}
test_1()
console.log('-----------------------------------------------------------------');
function test_2()
{
console.log("Test 2");
const source = {}
source.v8 = new Uint8Array([10,20,30]);
source.view = new DataView(source.v8.buffer)
source.view2 = new DataView(source.v8.buffer)
const target = {}
target.v8 = new Uint8Array([10,20,30]);
target.view = new DataView(target.v8.buffer)
target.view2 = new DataView(source.v8.buffer)
claim(!deepEquivalent(source, target), 'deepEquivalent(source_view, target_view)')
}
test_2()
console.log('-----------------------------------------------------------------');
function test_3()
{
console.log("Test 3");
const source = {}
source.v8 = new Uint8Array([10,20,30]);
source.view = new DataView(source.v8.buffer)
source.a = {b:source.v8.buffer}
const target = {}
target.v8 = new Uint8Array([10,20,30]);
target.view = new DataView(target.v8.buffer)
target.a = {b:new Uint8Array([10,20,30]).buffer}
claim(!deepEquivalent(source, target), '!deepEquivalent(source_view, target_view)')
}
test_3()
console.log('-----------------------------------------------------------------');
function test_4()
{
console.log("Test 4");
const source = {}
source.v8 = new Uint8Array([10,20,30]);
source.a = source.v8.buffer
const target = {}
target.v8 = new Uint8Array([10,20,30]);
target.a = new Uint8Array([10,20,30]).buffer
claim(!deepEquivalent(source, target), '!deepEquivalent(source_view, target_view)')
}
test_4()