mirror of
https://github.com/josdejong/mathjs.git
synced 2025-12-08 19:46:04 +00:00
42 lines
862 B
JavaScript
42 lines
862 B
JavaScript
// test clone
|
|
var assert = require('assert');
|
|
var math = require('../../../src/index.js');
|
|
|
|
var a = 1;
|
|
var b = math.clone(a);
|
|
a = 2;
|
|
assert.strictEqual(b, 1);
|
|
|
|
a = 'hello world';
|
|
b = math.clone(a);
|
|
a = 'bye!';
|
|
assert.strictEqual(b, 'hello world');
|
|
|
|
a = math.complex(2, 3);
|
|
b = math.clone(a);
|
|
assert.notEqual(a, b);
|
|
a.re = 5;
|
|
assert.strictEqual(a.toString(), '5 + 3i');
|
|
assert.strictEqual(b.toString(), '2 + 3i');
|
|
|
|
a = math.unit('5mm');
|
|
b = math.clone(a);
|
|
a.value = 10;
|
|
assert.equal(a.toString(), '10 m');
|
|
assert.equal(b.toString(), '5 mm');
|
|
|
|
a = [1,2,[3,4]];
|
|
b = math.clone(a);
|
|
a[2][1] = 5;
|
|
assert.equal(b[2][1], 4);
|
|
|
|
a = math.matrix([[1, 2], [3, 4]]);
|
|
b = math.clone(a);
|
|
a.valueOf()[0][0] = 5;
|
|
assert.equal(b.valueOf()[0][0], 1);
|
|
|
|
a = math.matrix([1, 2, new math.complex(2, 3), 4]);
|
|
b = math.clone(a);
|
|
a.valueOf()[2].re = 5;
|
|
assert.equal(b.valueOf()[2].re, 2);
|