diff --git a/tests/Phpml/NeuralNetwork/Network/LayeredNetworkTest.php b/tests/Phpml/NeuralNetwork/Network/LayeredNetworkTest.php new file mode 100644 index 0000000..11fe914 --- /dev/null +++ b/tests/Phpml/NeuralNetwork/Network/LayeredNetworkTest.php @@ -0,0 +1,53 @@ +getLayeredNetworkMock(); + + $network->addLayer($layer1 = new Layer()); + $network->addLayer($layer2 = new Layer()); + + $this->assertEquals([$layer1, $layer2], $network->getLayers()); + } + + public function testGetLastLayerAsOutputLayer() + { + $network = $this->getLayeredNetworkMock(); + $network->addLayer($layer1 = new Layer()); + + $this->assertEquals($layer1, $network->getOutputLayer()); + + $network->addLayer($layer2 = new Layer()); + $this->assertEquals($layer2, $network->getOutputLayer()); + } + + public function testSetInputAndGetOutput() + { + $network = $this->getLayeredNetworkMock(); + $network->addLayer(new Layer(2, Input::class)); + + $network->setInput($input = [34, 43]); + $this->assertEquals($input, $network->getOutput()); + + $network->addLayer(new Layer(1)); + $this->assertEquals([0.5], $network->getOutput()); + } + + /** + * @return LayeredNetwork + */ + private function getLayeredNetworkMock() + { + return $this->getMockForAbstractClass(LayeredNetwork::class); + } +}