/**
  * Test basic methods.
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::__construct
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::__clone
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::add
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::all
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::clear
  */
 public function testBasic()
 {
     $fieldList = new ValidationFieldList();
     $fieldList->add('name1', 'value1');
     $fieldList->add('name2', 'value2');
     $field1 = new ValidationField('name1', 'value1');
     $field2 = new ValidationField('name2', 'value2');
     static::assertEquals([$field1, $field2], $fieldList->all());
     $fieldListClone = clone $fieldList;
     static::assertNotSame($fieldListClone->all(), $fieldList->all());
     $fieldListClone->clear();
     static::assertEmpty($fieldListClone->all());
     static::assertNotEmpty($fieldList->all());
 }
 /**
  * Overwrite all fields values on instance.
  *
  * @param  array $values Values to overwrite.
  */
 private function overwriteWith(array $values)
 {
     foreach ($this->fields->all() as $field) {
         if (array_key_exists($field->name, $values)) {
             $field->value = $values[$field->name];
         }
     }
 }