public void CanConnectNeurons() { var in1 = new Input(); var in2 = new Input(); var in3 = new Input(); var dendrite1 = new Dendrite(); dendrite1.SetConnection(in1); var dendrite2 = new Dendrite(); dendrite2.SetConnection(in2); var dendrite3 = new Dendrite(); dendrite3.SetConnection(in3); var neuron = new StepNeuron(); neuron.Connect(dendrite1); neuron.Connect(dendrite2); neuron.Connect(dendrite3); var dendrite4 = new Dendrite(); dendrite4.SetConnection(neuron); Assert.AreEqual(0d, neuron.Output()); }
public void NeuronFiresRelativeToThreshold(double val, double weight, double threshold, double output) { var input1 = new Input(val); var dendrite1 = new Dendrite(weight); dendrite1.SetConnection(input1); var input2 = new Input(val); var dendrite2 = new Dendrite(weight); dendrite2.SetConnection(input2); var neuron = new StepNeuron(threshold); neuron.Connect(dendrite1); neuron.Connect(dendrite2); Assert.AreEqual(output, neuron.Output()); }