UNPKG

deep-copy-diagnostics

Version:

Ultra-fast definitive testing for deep copies and deep copy algorithms

302 lines (250 loc) 8.42 kB
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_BigInt() { console.log("test_BigInt"); const x = BigInt(7) const y = BigInt(8) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_BigInt(); console.log('-----------------------------------------------------------------'); function test_Symbol() { console.log("test_Symbol"); const x = Symbol() const y = Symbol() claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Symbol(); console.log('-----------------------------------------------------------------'); function test_Symbola() { console.log("test_Symbola"); const x = new Error('message') const y = Symbol() claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Symbola(); console.log('-----------------------------------------------------------------'); function test_BigInt_a() { console.log("test_BigInt_a"); const x = 123n const y = 1234n claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_BigInt_a(); console.log('-----------------------------------------------------------------'); function test_Boolean() { console.log("test_Boolean"); const x = new Boolean(true) const y = new Boolean(false) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Boolean(); console.log('-----------------------------------------------------------------'); function test_Number() { console.log("test_Number"); const x = new Number(1) const y = new Number(2) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Number(); console.log('-----------------------------------------------------------------'); function test_String() { console.log("test_String"); const x = new Number("dog") const y = new Number("hamster") claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Number(); console.log('-----------------------------------------------------------------'); function test_Date() { console.log("test_Date"); const x = new Date(123) const y = new Date(1234) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Date(); console.log('-----------------------------------------------------------------'); function test_RegExp() { console.log("test_RegExp"); const x = /abc/ const y = /abc/g claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_RegExp(); console.log('-----------------------------------------------------------------'); function test_Array() { console.log("test_Array"); const x = [1] const y = [2] claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Array(); console.log('-----------------------------------------------------------------'); function test_Function() { console.log("test_Function"); const x = function bax(){} const y = function (){} claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Function(); console.log('-----------------------------------------------------------------'); function test_Uint8Array() { console.log("test_Uint8Array"); const buffer = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new Uint8Array(buffer,1,2 ) const y = new Uint8Array(buffer,2,2 ) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Uint8Array(); console.log('-----------------------------------------------------------------'); function test_Uint8Arraya() { console.log("test_Uint8Arraya"); const bufferX = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const bufferY = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new Uint8Array(bufferX,1,2 ) const y = new Uint8Array(bufferY,2,2 ) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Uint8Arraya(); console.log('-----------------------------------------------------------------'); function test_Uint8Arrayb() { console.log("test_Uint8Arrayb"); const bufferX = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const bufferY = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new Uint8Array(bufferX,2,2 ) const y = new Uint8Array(bufferY,2,3 ) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Uint8Arrayb(); console.log('-----------------------------------------------------------------'); function test_Map() { console.log("test_Map"); const x = new Map() const y = new Map([[{},{}]]) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Map(); console.log('-----------------------------------------------------------------'); function test_Set() { console.log("test_Set"); const x = new Set() const y = new Set([{}]) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Set(); console.log('-----------------------------------------------------------------'); function test_Seta() { console.log("test_Seta"); const x = new Set([{a:1}]) const y = new Set([{a:2}]) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Seta(); console.log('-----------------------------------------------------------------'); function test_DataView() { console.log("test_DataView"); const buffer = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new DataView(buffer,1,2) const y = new DataView(buffer,1,2) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_DataView() console.log('-----------------------------------------------------------------'); function test_DataViewa() { console.log("test_DataView"); const bufferx = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const buffery = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new DataView(bufferx,1,2) const y = new DataView(buffery,1,3) claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_DataViewa() console.log('-----------------------------------------------------------------'); function test_ArrayBuffer() { console.log("test_ArrayBuffer"); const buffer = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const x = new Uint8Array(buffer).buffer const y = new Uint8Array(buffer).buffer claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_ArrayBuffer() console.log('-----------------------------------------------------------------'); function test_ArrayBuffera() { console.log("test_ArrayBuffer"); const x = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const y = new Uint8Array([1,2,3,4,5,6,7,9]).buffer claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_ArrayBuffera() console.log('-----------------------------------------------------------------'); function test_ArrayBufferb() { console.log("test_ArrayBuffer"); const x = new Uint8Array([1,2,3,4,5,6,7,8]).buffer const y = new Uint8Array([1,2,3,4,5,6,7,9]).buffer claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_ArrayBufferb() console.log('-----------------------------------------------------------------'); function test_WeakSet() { console.log("test_WeakSet"); const x = new WeakSet() const y = new WeakSet() claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_WeakSet() console.log('-----------------------------------------------------------------'); function test_WeakMap() { console.log("test_WeakMap"); const x = new WeakMap() const y = new WeakMap() claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_WeakMap() console.log('-----------------------------------------------------------------'); function test_Error() { console.log("test_Error"); const x = new Error('message') const y = new Error('message') claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_Error(); function test_RangeError() { console.log("test_RangeError"); const x = new Error('message') const y = new RangeError('message') y.stack = x.stack claim(!deepEquivalent(x,y), '!deepEquivalent(x,y)') } test_RangeError();