49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
|
var jamlib = require('../build/lib/jamlib.debug');
|
||
|
var util = require('util');
|
||
|
var N = 1;
|
||
|
|
||
|
print('Checkpoint 0: Creating JAM...');
|
||
|
|
||
|
// Create the JAM and JAM world consisting of one logical node
|
||
|
var JAM = jamlib.Jam({
|
||
|
print:function (msg) {console.log('[JAMLIB] '+msg);},
|
||
|
verbose:1,
|
||
|
});
|
||
|
|
||
|
JAM.init();
|
||
|
print(util.inspect(JAM.stats('node')))
|
||
|
|
||
|
print('Checkpoint 2: Compiling agent constructor function...');
|
||
|
|
||
|
function ac(options) {
|
||
|
this.options=options;
|
||
|
this.act = {
|
||
|
a1:function () {},
|
||
|
a2:function () {},
|
||
|
a3:function () {},
|
||
|
a4:function () {log('Checkpoint a4'); kill()},
|
||
|
}
|
||
|
this.trans = {
|
||
|
a1:"a2",
|
||
|
a2:function () { if (this.options.state<100) return "a3"; else return "a4"; },
|
||
|
a3:"a4",
|
||
|
}
|
||
|
this.next="a1";
|
||
|
}
|
||
|
|
||
|
try { JAM.compileClass(undefined,ac,{verbose:1}); }
|
||
|
catch (e) { return print(e); };
|
||
|
|
||
|
|
||
|
print('Checkpoint 1: Starting JAM...');
|
||
|
JAM.start();
|
||
|
|
||
|
print('Checkpoint 3: Creating agents ...');
|
||
|
for(var i = 0; i<N;i++) {
|
||
|
JAM.createAgent('ac',{verbose:0});
|
||
|
}
|
||
|
print(util.inspect(JAM.stats('process')))
|
||
|
print(util.inspect(JAM.stats('vm')))
|
||
|
|
||
|
print('All checks passed.');
|