PHP Classes
elePHPant
Icontem

File: Falcraft/examples/Data/Types/Edge.php

Recommend this page to a friend!
  Classes of Asher Wolfstein  >  Abstract Data Types  >  Falcraft/examples/Data/Types/Edge.php  >  Download  
File: Falcraft/examples/Data/Types/Edge.php
Role: Example script
Content type: text/plain
Description: Edge Object (Graphs) Example
Class: Abstract Data Types
Set of abstract data types as pure PHP classes
Author: By
Last change:
Date: 4 years ago
Size: 2,366 bytes
 

 

Contents

Class file image Download
<?php

/* SOME TESTS ARE MEANT TO FAIL!
   If the entire script runs, it works. */

require_once('../../../Data/Types/UnorderedNode.php');
require_once(
'../../../Data/Types/Edge.php');

use
Falcraft\Data\Types;

echo
"Falcraft\\Data\\Types\\Edge.php Test\n";
echo
"---------------------------------\n\n";

echo
"Instantiate Nodes -> ";

$success = true;

$testUnorderedNode1 = $testUnorderedNode2 - $testUnorderedNode3 = 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";
} catch (\
Exception $e) {
   
$success = false;
}

if (
$success) {
    echo
"Success!\n";
} else {
    echo
"Failure...\n";
}

echo
"Instantiate Edge (testUnorderedNode1, testUnorderedNode2) -> ";

$success = true;

$testEdge = null;

try {
   
$testEdge = new Types\Edge($testUnorderedNode1, $testUnorderedNode2);
} catch (\
Exception $e) {
   
$success = false;
}

if (
$success) {
    echo
"Success!\n";
} else {
    echo
"Failure...\n";
}

echo
"Get Next -> ";

try {
    echo
$testEdge->getNext()->getIdentifier() . "\n";
} catch (\
Exception $e) {
    echo
"EXCEPTION CAUGHT\n";
}

echo
"Get Previous -> ";

try {
    echo
$testEdge->getPrevious()->getIdentifier() . "\n";
} catch (\
Exception $e) {
    echo
"EXCEPTION CAUGHT\n";
}

echo
"Setting Next (testUnorderedNode3) -> ";

$success = true;

try {
   
$testEdge->setNext($testUnorderedNode3);
    if (!(
$testEdge->getNext()->getIdentifier() == $testUnorderedNode3->getIdentifier())) {
       
$success = false;
    }
} catch (\
Exception $e) {
   
$success = false;
}

if (
$success) {
    echo
"Success!\n";
} else {
    echo
"Failure...\n";
}

echo
"Setting Previous (testUnorderedNode2) -> ";

$success = true;

try {
   
$testEdge->setPrevious($testUnorderedNode2);
    if (!(
$testEdge->getPrevious()->getIdentifier() == $testUnorderedNode2->getIdentifier())) {
       
$success = false;
    }
} catch (\
Exception $e) {
   
$success = false;
}

if (
$success) {
    echo
"Success!\n";
} else {
    echo
"Failure...\n";
}