Example #1
0
require_once __DIR__ . '/../../Patterns/Publisher.php';
use Falcraft\Event;
use Falcraft\Patterns;
echo "Falcraft\\Event\\Actor.php Test\n";
echo "-----------------------------\n\n";
echo "Basic Instantiation -- \n\n";
$success = true;
$handler = $filter = $event1 = $event2 = $publisher = $actor = null;
try {
    echo "    Instantiate Handler With Closure -> ";
    $handler = new Event\Handler(null, function ($e) {
        echo "Inside Closure";
    }, null, Event\Handler::DEFAULT_PRIORITY, array('strict' => true));
    echo $handler ? "Success!\n" : "Failure...\n";
    echo "    Instantiate Filter (filter => tag1) -> ";
    $filter = new Event\Filter();
    $filter->setState(array('tags' => array('tag1')));
    echo $filter ? "Success!\n" : "Failure...\n";
    echo "    Instantiate Generic Events (Event1 => tag1) -> ";
    $event1 = new Event\GenericEvent(null, null, null, null, null, array('tag1'));
    $event2 = new Event\GenericEvent(null, null, null, null);
    echo $event1 && $event2 ? "Success!\n" : "Failure...\n";
    echo "    Instantiate Publisher -> ";
    $publisher = new Patterns\Publisher();
    echo $publisher ? "Success!\n" : "Failure...\n";
    echo "    Instantiate Actor ( filter, handler, publisher ) -> ";
    $actor = new Event\Actor($filter, $handler, $publisher);
    echo $actor ? "Success!\n" : "Failure...\n";
} catch (\Exception $e) {
    $success = false;
}
Example #2
0
    $queue2 = new Event\HandlerPriorityQueue(array($handler4, $handler5, $handler6));
} catch (\Exception $e) {
    $success = false;
}
if ($success) {
    echo "Success!\n";
} else {
    echo "Failure...\n";
}
echo "        Instantiate Filter 1 (tag1) and Filter 2 (tag2) -> ";
$success = true;
$filter1 = $filter2 = null;
try {
    $filter1 = new Event\Filter();
    $filter1->setState(array('tags' => array('tag1')));
    $filter2 = new Event\Filter();
    $filter2->setState(array('tags' => array('tag2')));
} catch (\Exception $e) {
    $success = false;
}
if ($success) {
    echo "Success!\n";
} else {
    echo "Failure...\n";
}
echo "        Instantiate Conduit (4) With Filters, Queues, and Publishers -> ";
$success = true;
$conduit4 = null;
try {
    $conduit4 = new Event\Conduit(array(array($filter1, $queue1), array($filter2, $queue2)), array($publisher1, $publisher2, $publisher3), array('strict' => true));
} catch (\Exception $e) {
Example #3
0
try {
    echo "            Fire Publisher2 with Event2 -> ";
    $publisher2->setState($event2);
} catch (\Exception $e) {
    $success = false;
}
if ($success) {
    echo "    Success!\n\n";
} else {
    echo "    Failure...\n\n";
}
echo "        Filter -- \n";
$success = true;
try {
    echo "            Instantiate Filter (tag1) -> ";
    $filter = new Event\Filter();
    $filter->setState(array('tags' => array('tag1')));
    echo $filter ? "Success!\n" : "Failure...\n";
    echo "            Set Filter on Aggregate -> ";
    $aggregator->setFilter($filter);
    echo "Success!\n";
} catch (\Exception $e) {
    $success = false;
}
$success = true;
try {
    echo "            Fire Publisher2 with Event2 -> ";
    $publisher2->setState($event2);
    echo "\n            Fire Publisher2 with Event1 -> ";
    $publisher2->setState($event1);
    echo "\n";
Example #4
0
    echo "    filter->isApplicable( event ) -> ";
    echo $filter->isApplicable($event) ? "True\n" : "False\n";
} catch (\Exception $e) {
    $success = false;
}
if ($success) {
    echo "Success!\n\n";
} else {
    echo "Failure...\n\n";
}
echo "Tags and Categories -- \n";
echo "    Reset Filter and Event -> ";
$success = true;
$filter = $event = null;
try {
    $filter = new Event\Filter();
    $event = new Event\GenericEvent(null, null, null, null);
} catch (\Exception $e) {
    $success = false;
}
if ($success) {
    echo "Success!\n\n";
} else {
    echo "Failure...\n";
}
$success = true;
try {
    echo "    event-addTag( tag1 )\n";
    $event->addTag('tag1');
    echo "    filter->isApplicable( event ) -> ";
    echo $filter->isApplicable($event) ? "True\n" : "False\n";