/**
  * 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];
         }
     }
 }
 /**
  * Test validate method.
  * @covers Rentalhost\VanillaValidation\ValidationFieldList::validate
  */
 public function testValidate()
 {
     $fieldList = new ValidationFieldList();
     $fieldList->add('name1', 'value1')->string()->required();
     $fieldList->add('name2', 'value2')->string()->required();
     $fieldListResult = $fieldList->validate();
     static::assertTrue($fieldListResult->isSuccess());
     static::assertCount(0, $fieldListResult->getFails());
     static::assertCount(4, $fieldListResult->getSuccesses());
     $fieldList = new ValidationFieldList();
     $fieldList->add('name1', 'value1')->string()->required();
     $fieldList->add('name2', 123)->string()->required();
     $fieldListResult = $fieldList->validate();
     static::assertFalse($fieldListResult->isSuccess());
     static::assertCount(1, $fieldListResult->getFails());
     static::assertCount(3, $fieldListResult->getSuccesses());
     $fieldList = new ValidationFieldList();
     $fieldListResult = $fieldList->validate();
     static::assertTrue($fieldListResult->isSuccess());
     static::assertCount(0, $fieldListResult->getFails());
     static::assertCount(0, $fieldListResult->getSuccesses());
 }