I wouldn't test it in this way. Assertions checs depends on Form functionality. I think this will be better:
```php
$types = array();
$form->onSuccess[] = function($form) use (& $types) {
    $types[] = $form instanceof Form;
};

$form->onSuccess[] = function($form, $values) use (& $types) {
    $types[] = array($form instanceof Form, $values instanceof ArrayHash);
};

$form->onSuccess[] = function($form, array $values) use (& $types) {
    $types[] = array($form instanceof Form, is_array($values));
};

$form->fireEvents();

Assert::same(array(
    TRUE,
    array(TRUE, TRUE),
    array(TRUE, TRUE),
));