public void FactoryConstructsWithNoNullNeurons()
        {
            ConvolutionNeuralNetwork network = factory.Construct(inps, outps);

            Assert.True(network.getInput().Any());
            Assert.True(network.getOutput().Any());
            Assert.True(network.getInput().All(p => p != null));
            Assert.True(network.getOutput().All(p => p != null));
        }
        public void OutputPipesAreReferencedAsInputPipes()
        {
            ConvolutionNeuralNetwork network = factory.Construct(inps, outps);

            var firstNeuronOutput  = network.ElementAt(0).ElementAt(0).getOutput();
            var secondNeuronOutput = network.ElementAt(0).ElementAt(1).getOutput();

            Assert.True(network.ElementAt(1).ElementAt(0).getInput().Any(p => object.ReferenceEquals(p, firstNeuronOutput)));

            Assert.True(network.ElementAt(1).ElementAt(0).getInput().Any(p => p.Equals(firstNeuronOutput)));
            Assert.True(network.ElementAt(1).ElementAt(1).getInput().Any(p => p.Equals(secondNeuronOutput)));
        }