public void CalculateOutput_MultiLayer_CalculatesAndStoresValue() { var inputNeuron1 = new Neuron("inputNeuron1", 1); var inputNeuron2 = new Neuron("inputNeuron2", 2); var layer1Neuron1 = new Neuron("layer1Neuron1"); var layer1Neuron2 = new Neuron("layer1Neuron2"); var outNeuron1 = new Neuron("outNeuron1"); var outNeuron2 = new Neuron("outNeuron2"); layer1Neuron1.AddInputNeuron(inputNeuron1, .1m); layer1Neuron1.AddInputNeuron(inputNeuron2, .2m); layer1Neuron2.AddInputNeuron(inputNeuron1, .3m); layer1Neuron2.AddInputNeuron(inputNeuron2, .4m); outNeuron1.AddInputNeuron(layer1Neuron1, .5m); outNeuron1.AddInputNeuron(layer1Neuron2, .6m); outNeuron2.AddInputNeuron(layer1Neuron1, .7m); outNeuron2.AddInputNeuron(layer1Neuron2, .8m); Assert.That(outNeuron1.CalculateOutput(), Is.EqualTo(0.91m)); Assert.That(outNeuron2.CalculateOutput(), Is.EqualTo(1.23m)); }
public void CalculateOutput_HasAllInputs_CalculatesAndStoresValue() { var neuron = new Neuron(); neuron.AddInputNeuron(new Neuron(14), .5m); neuron.AddInputNeuron(new Neuron(29), .25m); neuron.AddInputNeuron(new Neuron(4), -.75m); Assert.That(neuron.CalculateOutput(), Is.EqualTo(11.25m)); Assert.That(neuron.CalculateOutput(), Is.EqualTo(11.25m)); }
public void AddInput_NeuronPassed_ConnectionCreated() { var activationFunction = new Mock <IActivationFunction>(); var inputFunction = new Mock <IInputFunction>(); var neuron = new Neuron(activationFunction.Object, inputFunction.Object); var inputNeuron = new Neuron(activationFunction.Object, inputFunction.Object); neuron.AddInputNeuron(inputNeuron); Assert.AreEqual(1, neuron.Inputs.Count); }
public void AddInputNeuron_NeuronPassed_InputProperlySet() { var neuron = new Neuron(false, 1.11); var inputNeuron = new Mock <INeuron>(); var mockList = new List <IConnection>(); inputNeuron.SetupGet(x => x.Outputs).Returns(mockList); neuron.AddInputNeuron(inputNeuron.Object, 3.33); Assert.Equal(1, neuron.Inputs.Count); Assert.Equal(inputNeuron.Object, neuron.Inputs[0].InputNeruon); Assert.Equal(neuron, neuron.Inputs[0].OutputNeruon); Assert.Equal(3.33, neuron.Inputs[0].Weight); }