<?php

require_once 'IFactory.php';
require_once 'UserFactory.php';
require_once 'User.php';
require_once 'Administrator.php';

use \Main\FactoryPattern\UserFactory;

$factory = new UserFactory();

// Test the factory pattern
$user = $factory->CreateUser("Fred");
$admin = $factory->CreateAdmin("Bob");
$admin->AddTask("Task One", "The first task", $user);
$admin->AddTask("Task Two", "The second task", $user);
$admin->AddTask("Task Three", "The third task", $user);
$user->PerformTasks();

$admin->AddTask("Admin Task One", "The first admin task", $admin);
$admin->PerformTasks();

$admin->RemoveTask("Fred", "Task Two");
$user->PerformTasks();
?>