You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.9 KiB
Python
101 lines
2.9 KiB
Python
|
|
TestFluidCorpusManipulationServer : UnitTest
|
|
{
|
|
var waitForCounts, countsListener;
|
|
|
|
setUp{
|
|
waitForCounts = Condition.new(false);
|
|
countsListener = { |s,changed|
|
|
if(changed == \counts) {
|
|
waitForCounts.test = true;
|
|
waitForCounts.signal;
|
|
}
|
|
};
|
|
Server.default.addDependant(countsListener);
|
|
}
|
|
|
|
tearDown{
|
|
Server.default.removeDependant(countsListener);
|
|
Server.default.quit;
|
|
}
|
|
|
|
test_DataSetPersistence{
|
|
var foo, bar, tree, testPoint;
|
|
//No server on? You get nothing
|
|
this.assertEquals(nil,FluidDataSet(Server.default,\foo));
|
|
|
|
this.bootServer(Server.default);
|
|
// while {Server.default.serverRunning.not}{0.2.wait};
|
|
|
|
waitForCounts.test = false;
|
|
Server.default.doWhenBooted{foo=FluidDataSet(Server.default,\foo)};
|
|
waitForCounts.wait;
|
|
this.assertEquals(Server.default.numSynths,1,"Dataset: One Synth present after deferred boot");
|
|
waitForCounts.test = false;
|
|
foo.free;
|
|
waitForCounts.wait;
|
|
this.assertEquals(Server.default.numSynths,0,"Dataset: No synth present via cretation after free");
|
|
foo=FluidDataSet(Server.default,\foo);
|
|
//Uniqueness test (difficult to run with previous instance of foo, because
|
|
//UnitTest.bootServer messes with Server alloctors and screws up the ID cache
|
|
this.assertException({
|
|
bar = FluidDataSet(Server.default,\foo);
|
|
},FluidDataSetExistsError,"DataSetDuplicateError on reused name", onFailure:{
|
|
"Exception fail".postln;
|
|
});
|
|
|
|
waitForCounts.test = false;
|
|
bar = FluidDataSet(Server.default,\bar);
|
|
waitForCounts.wait;
|
|
this.assertEquals(Server.default.numSynths,2,"Dataset: Two Synths present after new valid Dataset added");
|
|
|
|
testPoint = Buffer.alloc(Server.default,8);
|
|
Server.default.sync;
|
|
testPoint.setn(0,[1,2,3,4,5,6,7,8]);
|
|
Server.default.sync;
|
|
foo.addPoint(\one,testPoint);
|
|
Server.default.sync;
|
|
foo.size({|size|
|
|
this.assertEquals(size,1,"Dataset size is 1");
|
|
});
|
|
Server.default.sync;
|
|
foo.cols({|cols|
|
|
this.assertEquals(cols,8,"Dataset cols is 8");
|
|
});
|
|
|
|
Server.default.sync;
|
|
waitForCounts.test = false;
|
|
|
|
tree = FluidKDTree(Server.default);
|
|
waitForCounts.wait;
|
|
|
|
this.assert(tree.synth.notNil,"Tree should have a valid synth");
|
|
this.assertEquals(Server.default.numSynths,3,"Dataset: Three Synths remain after cmd-.");
|
|
|
|
tree.fit(foo);
|
|
Server.default.sync;
|
|
tree.cols({|cols|
|
|
this.assertEquals(cols,8,"KDTree correct dims after fit")
|
|
});
|
|
Server.default.sync;
|
|
|
|
//Test cmd-period resistance
|
|
waitForCounts.test = false;
|
|
Server.default.freeAll;
|
|
Server.default.sync;
|
|
Server.default.sync;
|
|
waitForCounts.wait;
|
|
|
|
this.assertEquals(Server.default.numSynths,3,"Dataset: Three Synths remain after cmd-.");
|
|
foo.size({|size|
|
|
this.assertEquals(size,1,"Dataset size is still 1 after Cmd-.");
|
|
});
|
|
Server.default.sync;
|
|
foo.cols({|cols|
|
|
this.assertEquals(cols,8,"Dataset cols is still 8 after Cmd-.");
|
|
});
|
|
Server.default.sync;
|
|
tree.cols({|cols| this.assertEquals(cols,8,"KDTree correct dims after Cmd-.")});
|
|
Server.default.sync;
|
|
}
|
|
} |