public void SetUp()
        {
            _testInput1 = new Connection (1, 0.1);
            _testInput2 = new Connection (2, 0.2);
            _testInputs = new List<Connection> { _testInput1, _testInput2 };

            _testOutput = new Connection (0, 1.0);
            _testOutputs = new List<Connection> { _testOutput };

            _sigmoidAlpha = TunableParameterService.Instance.SigmoidAlpha;

            _testNeuron = new MlpNeuron (_testInputs, _testOutputs, FunctionType.Sigmoid);
        }
        IEnumerable<Neuron> CreateInputLayer()
        {
            var inputLayer = new List<Neuron>();

            foreach (var input in Inputs)
            {
                var newNeuron = new MlpNeuron(new List<Connection> { input }, new List<Connection>(), FunctionType.Linear);
                inputLayer.Add(newNeuron);
                Neurons.Add(newNeuron);
            }

            return inputLayer;
        }
        IEnumerable<Neuron> CreateOutputLayer()
        {
            var outputLayer = new List<Neuron>();

            foreach (var output in Outputs)
            {
                var outputNode = new MlpNeuron(new List<Connection>(), new List<Connection> { output }, FunctionType.Linear);
                outputLayer.Add(outputNode);
                Neurons.Add(outputNode);
            }

            return outputLayer;
        }
        /// <summary>
        /// Creates the hidden layers.
        /// </summary>
        IEnumerable<IEnumerable<Neuron>> CreateHiddenLayers()
        {
            var hiddenLayers = new List<IEnumerable<Neuron>>();

            for (int i=0; i<_numHiddenLayers; i++)
            {
                var hiddenNodes = new List<Neuron>();

                for (int j=0; j<_numNeuronsPerHiddenLayer; j++)
                {
                    var neuron = new MlpNeuron(new List<Connection>(), new List<Connection>(), FunctionType.Sigmoid);
                    hiddenNodes.Add(neuron);
                    Neurons.Add(neuron);
                }

                hiddenNodes.Add(new BiasNode());

                hiddenLayers.Add(hiddenNodes);
            }

            return hiddenLayers;
        }