| 
<?php
 require_once('../../../Data/Types/UnorderedNode.php');
 require_once('../../../Data/Types/Edge.php');
 require_once('../../../Data/Types/OrderedEdge.php');
 
 use Falcraft\Data\Types;
 
 echo "Falcraft\\Data\\Types\\OrderedEdge.php Test\n";
 echo "----------------------------------------\n\n";
 
 echo "Instantiate UnorderedNodes -> \n";
 
 $success = true;
 
 $testUnorderedNode1 = $testUnorderedNode2 = $testUnorderedNode3 = $testUnorderedNode4 = null;
 
 try {
 $testUnorderedNode1 = new Types\UnorderedNode();
 echo "    testUnorderedNode1 identifier - " . $testUnorderedNode1->getIdentifier() . "\n";
 
 $testUnorderedNode2 = new Types\UnorderedNode();
 echo "    testUnorderedNode2 identifier - " . $testUnorderedNode2->getIdentifier() . "\n";
 
 $testUnorderedNode3 = new Types\UnorderedNode();
 echo "    testUnorderedNode3 identifier - " . $testUnorderedNode3->getIdentifier() . "\n";
 
 $testUnorderedNode4 = new Types\UnorderedNode();
 echo "    testUnorderedNode4 identifier - " . $testUnorderedNode4->getIdentifier() . "\n";
 } catch (\Exception $e) {
 $success = false;
 }
 
 if ($success) {
 echo "Success!\n";
 } else {
 echo "Failure...\n";
 }
 
 echo "Instantiate Ordered Edges -> ";
 
 $success = true;
 
 $testOrderedEdge1 = $testOrderedEdge2 = null;
 
 try {
 $testOrderedEdge1 = new Types\OrderedEdge($testUnorderedNode1, $testUnorderedNode2);
 $testOrderedEdge2 = new Types\OrderedEdge($testUnorderedNode3, $testUnorderedNode4);
 } catch (\Exception $e) {
 $success = false;
 }
 
 if ($success) {
 echo "Success!\n";
 } else {
 echo "Failure...\n";
 }
 
 echo "Linking Ordered Edges -> ";
 
 $success = true;
 
 try {
 Types\OrderedEdge::connect($testOrderedEdge1, $testOrderedEdge2);
 } catch (\Exception $e) {
 $success = false;
 }
 
 if ($success) {
 echo "Success!\n\n";
 echo "Test Results\n\n";
 echo "testOrderedEdge1 Next (Prev Node, Next Node) -> ";
 echo "(" . $testOrderedEdge1->getNextEdge()->getPrevious()->getIdentifier() .
 ", " . $testOrderedEdge1->getNextEdge()->getNext()->getIdentifier() . ")\n";
 echo "testOrderedEdge2 Previous (Prev Node, Next Node) -> ";
 echo "(" . $testOrderedEdge2->getPreviousEdge()->getPrevious()->getIdentifier() .
 ", " . $testOrderedEdge2->getPreviousEdge()->getNext()->getIdentifier() . ")\n";
 }
 
 |