Files
kiss-vscode/cloner/test/TestClonerCache.hx
Nat Quayle Nelson a47af32adb Squashed 'cloner/' content from commit 79ff709
git-subtree-dir: cloner
git-subtree-split: 79ff709d0060b967d3508b6abfe194bedfb63f1b
2020-12-09 18:33:53 -07:00

35 lines
988 B
Haxe

import cloner.Cloner;
import classes.ClassProperty;
import classes.BoolProperty;
class TestClonerCache extends haxe.unit.TestCase {
var cloner:Cloner;
var input:Array<ClassProperty>;
var outcome:Array<ClassProperty>;
override public function setup() {
cloner = new Cloner();
}
public function testReferences():Void {
setupOutcomeWithReferences();
assertTrue(outcome[0].property == outcome[1].property);
}
public function testNoSideEffects():Void {
setupOutcomeWithReferences();
outcome[0].property = true;
outcome = cloner.clone(input);
assertFalse(outcome[0].property);
}
function setupOutcomeWithReferences():Void {
var a:ClassProperty = new ClassProperty();
var b:ClassProperty = new ClassProperty();
var c:BoolProperty = new BoolProperty();
a.property = c;
b.property = c;
input = [a, b];
outcome = cloner.clone(input);
}
}