public void AddOutputLayer_WithoutInputLayer_ShouldThrowException() { NeuralNetworkBuilderTestDouble builder = new NeuralNetworkBuilderTestDouble(); builder.CreateNew(); NeuralNetwork network1 = builder.CurrentNeuralNetwork; ActivationFunction func = ActivationFunctions.Identity; AssertEx.AssertThrows <NeuralNetworkConfigurationException>(() => builder.AddOutputLayer(2, func), "can't have only output layer"); }
public void AddOutputLayer_CalledTwice_ShouldThrowException() { NeuralNetworkBuilderTestDouble builder = new NeuralNetworkBuilderTestDouble(); builder.CreateNew(); NeuralNetwork network1 = builder.CurrentNeuralNetwork; ActivationFunction func = ActivationFunctions.Identity; builder.AddInputLayer(3, func, false) .AddOutputLayer(4, func); AssertEx.AssertThrows <NeuralNetworkConfigurationException>(() => builder.AddOutputLayer(5, func), "can't have 2 output layers"); }