UNPKG

intelligence

Version:

Machine learning library written in javascript

44 lines (43 loc) 1.96 kB
var intelligence = require('./../src/intelligence'); module.exports = { setUp: function (callback) { this.testFunctionTwoArgs = function (a, b) { return a + b; }; this.testFunctionThreeArgs = function (a, b, c) { return a + b + c; }; this.registerSet = new intelligence.RegisterSet({ numInputs: 3, numOutputs: 1 }); callback(); }, tearDown: function (callback) { callback(); }, linearGPNode_whenInitialised_inputRegistersAreSet: function (test) { var linearGPNode = new intelligence.LinearGPNode(this.testFunctionTwoArgs, this.registerSet); test.ok(linearGPNode.inputRegisters ? true : false); test.done(); }, LinearGPNode_whenFunctionTakesTwoArguments_twoInputRegistersCreated: function (test) { var linearGPNode = new intelligence.LinearGPNode(this.testFunctionTwoArgs, this.registerSet); test.equal(linearGPNode.inputRegisters.length, 2); test.done(); }, LinearGPNode_whenFunctionTakesThreeArguments_twoInputRegistersCreated: function (test) { var linearGPNode = new intelligence.LinearGPNode(this.testFunctionThreeArgs, this.registerSet); test.equal(linearGPNode.inputRegisters.length, 3); test.done(); }, getFuncReturnValue_whenCalled_returnsCorrectValue: function (test) { var linearGPNode = new intelligence.LinearGPNode(this.testFunctionTwoArgs, this.registerSet); var inputA = linearGPNode.inputRegisters[0]; var inputB = linearGPNode.inputRegisters[1]; var expectedValue = inputA.getValue(this.registerSet) + inputB.getValue(this.registerSet); var returnValue = linearGPNode.getFuncReturnValue(this.registerSet); test.ok(returnValue === expectedValue || (isNaN(returnValue) && isNaN(expectedValue))); test.done(); } };