public function testEdges()
{
// v1 -> v2, v1 -- v3, v1 <- v4
$v2 = $this->graph->createVertex(2);
$v3 = $this->graph->createVertex(3);
$v4 = $this->graph->createVertex(4);
$e1 = $this->vertex->createEdgeTo($v2);
$e2 = $this->vertex->createEdge($v3);
$e3 = $v4->createEdgeTo($this->vertex);
$this->assertEquals(array($e1, $e2, $e3), $this->vertex->getEdges()->getVector());
$this->assertEquals(array($e2, $e3), $this->vertex->getEdgesIn()->getVector());
$this->assertEquals(array($e1, $e2), $this->vertex->getEdgesOut()->getVector());
$this->assertTrue($this->vertex->hasEdgeTo($v2));
$this->assertTrue($this->vertex->hasEdgeTo($v3));
$this->assertFalse($this->vertex->hasEdgeTo($v4));
$this->assertFalse($this->vertex->hasEdgeFrom($v2));
$this->assertTrue($this->vertex->hasEdgeFrom($v3));
$this->assertTrue($this->vertex->hasEdgeFrom($v4));
$this->assertEquals(array($e1), $this->vertex->getEdgesTo($v2)->getVector());
$this->assertEquals(array($e2), $this->vertex->getEdgesTo($v3)->getVector());
$this->assertEquals(array(), $this->vertex->getEdgesTo($v4)->getVector());
$this->assertEquals(array(), $this->vertex->getEdgesFrom($v2)->getVector());
$this->assertEquals(array($e2), $this->vertex->getEdgesTo($v3)->getVector());
$this->assertEquals(array($e3), $this->vertex->getEdgesFrom($v4)->getVector());
$this->assertEquals(array($v2, $v3, $v4), $this->vertex->getVerticesEdge()->getVector());
$this->assertEquals(array($v2, $v3), $this->vertex->getVerticesEdgeTo()->getVector());
$this->assertEquals(array($v3, $v4), $this->vertex->getVerticesEdgeFrom()->getVector());
}