before(function(done){ //do this up front yo backbone = new winback(); var exampleJSON = { "win-data" : "win-data", "win-phylogeny" : winphylogeny, "test" : emptyModule }; var configurations = { "global" : { "server" : "http://localhost", "port" : "3000" }, "win-data" : { logLevel : backbone.testing }, "win-phylogeny" : { logLevel : backbone.testing } }; backbone.logLevel = backbone.testing; backEmit = backbone.getEmitter(emptyModule); backLog = backbone.getLogger({winFunction:"mocha"}); backLog.logLevel = backbone.testing; //loading modules is synchronous backbone.loadModules(exampleJSON, configurations); var registeredEvents = backbone.registeredEvents(); var requiredEvents = backbone.moduleRequirements(); backLog('Backbone Events registered: ', registeredEvents); backLog('Required: ', requiredEvents); backbone.initializeModules(function() { backLog("Finished Module Init"); done(); }); });
function winsetup(requiredEvents, moduleJSON, moduleConfigs, finished) { var winback = require('win-backbone'); var Q = require('q'); var backbone, generator, backEmit, backLog; var emptyModule = { winFunction : "experiment", eventCallbacks : function(){ return {}; }, requiredEvents : function() { return requiredEvents; } }; //add our own empty module onto this object moduleJSON["setupExperiment"] = emptyModule; var qBackboneResponse = function() { var defer = Q.defer(); // self.log('qBBRes: Original: ', arguments); //first add our own function type var augmentArgs = arguments; // [].splice.call(augmentArgs, 0, 0, self.winFunction); //make some assumptions about the returning call var callback = function(err) { if(err) { backLog("QCall fail: ", err); defer.reject(err); } else { //remove the error object, send the info onwards [].shift.call(arguments); if(arguments.length > 1) defer.resolve(arguments); else defer.resolve.apply(defer, arguments); } }; //then we add our callback to the end of our function -- which will get resolved here with whatever arguments are passed back [].push.call(augmentArgs, callback); // self.log('qBBRes: Augmented: ', augmentArgs); //make the call, we'll catch it inside the callback! backEmit.apply(backEmit, augmentArgs); return defer.promise; } //do this up front yo backbone = new winback(); backbone.logLevel = backbone.testing; backEmit = backbone.getEmitter(emptyModule); backLog = backbone.getLogger({winFunction:"experiment"}); backLog.logLevel = backbone.testing; //loading modules is synchronous backbone.loadModules(moduleJSON, moduleConfigs); var registeredEvents = backbone.registeredEvents(); var requiredEvents = backbone.moduleRequirements(); backLog('Backbone Events registered: ', registeredEvents); backLog('Required: ', requiredEvents); backbone.initializeModules(function(err) { backLog("Finished Module Init"); finished(err, {logger: backLog, emitter: backEmit, backbone: backbone, qCall: qBackboneResponse}); }); }
before(function(done){ //do this up front yo backbone = new winback(); var sampleJSON = { "win-neat" : winneat, "win-gen" : "win-gen", "win-schema" : "win-schema", "test" : emptyModule }; var configurations = { "global" : { }, "win-neat" : { neatParameters : np, options : { initialMutationCount : 0, postMutationCount : 0 } ,logLevel : backbone.testing }, "win-gen" : { "encodings" : [ "NEATGenotype" ] ,validateParents : true ,validateOffspring : true // ,logLevel : backbone.testing }, "win-schema" : { multipleErrors : true // ,logLevel : backbone.testing } }; backbone.logLevel = backbone.testing; backEmit = backbone.getEmitter(emptyModule); backLog = backbone.getLogger({winFunction:"mocha"}); backLog.logLevel = backbone.testing; //loading modules is synchronous backbone.loadModules(sampleJSON, configurations); var registeredEvents = backbone.registeredEvents(); var requiredEvents = backbone.moduleRequirements(); backLog('Backbone Events registered: ', registeredEvents); backLog('Required: ', requiredEvents); backbone.initializeModules(function() { backLog("Finished Module Init"); done(); }); });