<?php
namespace Falcraft\Tests\Data\Types;
// Connects/stores vertices implementing interface
require_once('../../../Data/Types/Enumeration.php');
use Falcraft\Data\Types;
echo "Falcraft\\Data\\Types\\Enumeration.php Test\n";
echo "----------------------------------------\n\n";
echo "Build Enumerator via Object Methods -> ";
$success = true;
$testEnum = null;
try {
$testEnum = new Types\Enumeration('testEnumerationClass', array(
'TEST1' => 1,
'TEST2' => 2,)
);
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n";
} else {
echo "Failure...\n";
}
echo "\nConstants of Enumerator Instantiated -> \n";
var_dump($testEnum->getConstants());
echo "\nAdding Additional Constants ('ADD1', 'ADD2', 'REM') -> ";
$additionalConstants = false;
try {
$additionalConstants = array('ADD1' => 3, 'ADD2' => 4, 'REM' => 5);
$testEnum->addConstants($additionalConstants);
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n";
} else {
echo "Failure...\n";
}
echo "\nConstants of Enumerator Instantiated -> \n";
var_dump($testEnum->getConstants());
echo "\nRemove Constant ('REM') -> ";
$success = true;
try {
$testEnum->removeConstant('REM');
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n";
} else {
echo "Failure...\n";
}
echo "\nConstants of Enumerator Instantiated -> \n";
var_dump($testEnum->getConstants());
echo "\nSet Erroneous Default ('REM') -> ";
$fail = true;
try {
$t = $testEnum->setDefault('REM');
} catch (\Exception $e) {
$fail = false;
}
if ($fail) {
echo "Failure!\n";
} else {
echo "Success...\n";
}
echo "Set Correct Defaul ('ADD2') -> ";
$success = true;
try {
$t = $testEnum->setDefault('ADD2');
if (!$t) {
$success = false;
}
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n";
} else {
echo "Failure...\n";
}
echo "Access Default Value -> ";
$success = true;
$default = $defaultValue = null;
try {
$default = $testEnum->getDefault();
$defaultValue = $testEnum->getDefaultValue();
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success! $default ($defaultValue)\n";
} else {
echo "Failure...\n";
}
echo "Establish Namespace -> ";
$success = true;
$namespace = null;
try {
$testEnum->setNamespace('Falcraft\\Tests\\Data\\Types');
$namespace = $testEnum->getNamespace();
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success! $namespace\n";
} else {
echo "Failure...\n";
}
echo "Bake Enumeration -> ";
$success = true;
try {
$testEnum->bake();
} catch (\Exception $e) {
$success - false;
}
if ($success) {
echo "Success!\n";
} else {
echo "Failure...\n";
}
echo "Change Enumeration After Baking -> ";
$fail = true;
try {
$testEnum->removeConstant('ADD1');
$fail = false;
} catch (\Exception $e) {
}
if ($fail) {
echo "Failure!\n";
} else {
echo "Success...\n";
}
echo "Enumeration Internals -> \n\n";
var_dump($testEnum);
echo "\nUsing An Enumerator (ADD1) ->";
$success = true;
$test = null;
try {
$test = testEnumerationClass::ADD1;
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success! ($test)\n";
} else {
echo "Failure...\n";
}
echo "Independent Enumerator Generation -> ";
$fail = true;
$testRebakeEnum = null;
try {
echo " Same Qualifier: ";
$testRebakeEnum = new Types\Enumeration('testEnumerationClass', array(
'REBAKE1' => 1,
'REBAKE2' => 2,)
);
$testRebakeEnum->setNamespace('Falcraft\\Tests\\Data\\Types');
$fail = false;
} catch (\Exception $e) {
$fail = true;
}
if ($fail) {
echo "Failure!\n";
} else {
echo "Success...\n";
}
echo "Generate Instance From Enumeration Instance -> ";
$success = true;
$enumeratedValue = null;
try {
$enumeratedValue = $testEnum->getInstance(testEnumerationClass::ADD2);
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n\n";
var_dump($enumeratedValue);
echo "\n";
} else {
echo "Failure...\n";
}
echo "Generate Instance From Enumeration Class -> ";
$success = true;
$enumeratedValue = null;
try {
$enumeratedValue = Types\Enumeration::createEnumeration(
'Falcraft\\Tests\\Data\\Types\\testEnumerationClass'
);
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n\n";
var_dump($enumeratedValue);
echo "\n";
} else {
echo "Failure...\n";
}
echo "Generate Instance From Generated Class -> ";
$success = true;
$enumeratedValue = null;
try {
$enumeratedValue = new testEnumerationClass();
} catch (\Exception $e) {
$success = false;
}
if ($success) {
echo "Success!\n\n";
var_dump($enumeratedValue);
echo "\n";
} else {
echo "Failure...\n\n";
}
|