public function testMultipleField()
{
$this->specify('The file validator does not validates correctly with multiple field', function () {
$validation = new Validation();
$validation->add(['file', 'anotherFile'], new File(['maxSize' => ['file' => '500K', 'anotherFile' => '600K'], 'allowedTypes' => ['image/jpeg', 'image/png'], 'maxResolution' => ['file' => '800x800', 'anotherFile' => '900x900'], 'minResolution' => '1x1', 'message' => ['file' => 'Image should have max 800x800 resolution', 'anotherFile' => 'Image should have max 900x900 resolution']]));
$messages = $validation->validate(['file' => $this->files[2], 'anotherFile' => $this->files[2]]);
expect($messages->count())->equals(0);
$messages = $validation->validate(['file' => $this->files[2], 'anotherFile' => $this->files[3]]);
expect($messages->count())->equals(1);
$expectedMessages = Validation\Message\Group::__set_state(['_messages' => [0 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 900x900 resolution', '_field' => 'anotherFile', '_code' => '0'])]]);
expect($expectedMessages)->equals($messages);
$messages = $validation->validate(['file' => $this->files[3], 'anotherFile' => $this->files[3]]);
expect($messages->count())->equals(2);
$expectedMessages = Validation\Message\Group::__set_state(['_messages' => [0 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 800x800 resolution', '_field' => 'file', '_code' => '0']), 1 => Validation\Message::__set_state(['_type' => 'File', '_message' => 'Image should have max 900x900 resolution', '_field' => 'anotherFile', '_code' => '0'])]]);
expect($expectedMessages)->equals($messages);
});
}