TEST(CreationTest, Entries2Exit1Layers2) { typedef NeuralNetwork<double, StepActivationFunction<double >> network; NeuralNetwork<double, StepActivationFunction<double >> nn; ASSERT_NO_THROW(nn.setEntries(2)); ASSERT_NO_THROW(nn.setExits(1)); ASSERT_NO_THROW(nn.setLayersCount(2)); ASSERT_NO_THROW(nn.setEntries(2)); ASSERT_NO_THROW(nn.setNeurons(1, 2)); ASSERT_THROW(nn.setNeurons(2, 2), network::WrongArgument); ASSERT_NO_THROW(nn.init()); std::vector<double> ans; ans.assign(2, 1); ASSERT_NO_THROW(nn.learn(ans.begin(), ans.end())); ASSERT_NO_THROW(nn.calcOutput()); ASSERT_NO_THROW(nn.stop()); }
TEST(StateTest, AllMethodsWithInit) { typedef NeuralNetwork<double, StepActivationFunction<double >> network; NeuralNetwork<double, StepActivationFunction<double >> nn; ASSERT_NO_THROW(nn.init()); ASSERT_THROW(nn.setEntries(2), network::WrongState); ASSERT_THROW(nn.setExits(2), network::WrongState); ASSERT_THROW(nn.setLayersCount(1), network::WrongState); ASSERT_THROW(nn.setEntries(2), network::WrongState); ASSERT_THROW(nn.setNeurons(1, 2), network::WrongState); ASSERT_THROW(nn.setNeurons(2, 2), network::WrongState); std::vector<double> ans; ans.assign(2, 1); ASSERT_NO_THROW(nn.learn(ans.begin(), ans.end())); ASSERT_NO_THROW(nn.calcOutput()); ASSERT_NO_THROW(nn.stop()); }