Exemplo n.º 1
0
 public function testPassWhenAllFieldsAreTheSame()
 {
     $writer_field_values = [];
     foreach ($this->writer->getFields() as $field_name) {
         $writer_field_values[$field_name] = $this->writer->getFieldValue($field_name);
     }
     $new_writer = $this->pool->produce(Writer::class, $writer_field_values, false);
     $new_writer_field_values = [];
     foreach ($new_writer->getFields() as $field_name) {
         $new_writer_field_values[$field_name] = $new_writer->getFieldValue($field_name);
     }
     $this->assertEquals($new_writer_field_values, $writer_field_values);
     $this->assertTrue($new_writer->is($this->writer));
 }
 public function testCopyWithoutSave()
 {
     $writer_copy = $this->writer->copy();
     $this->assertInstanceOf(Writer::class, $writer_copy);
     $this->assertFalse($writer_copy->isLoaded());
     $this->assertEmpty($writer_copy->getId());
     foreach ($writer_copy->getFields() as $field) {
         if ($writer_copy->isPrimaryKey($field)) {
             continue;
         }
         $old_writer_value = $this->writer->getFieldValue($field);
         $writer_copy_value = $writer_copy->getFieldValue($field);
         if ($old_writer_value instanceof DateValueInterface && $writer_copy_value instanceof DateValueInterface || $old_writer_value instanceof DateTimeValueInterface && $writer_copy_value instanceof DateTimeValueInterface) {
             $this->assertSame($old_writer_value->getTimestamp(), $writer_copy_value->getTimestamp());
         } else {
             $this->assertSame($old_writer_value, $writer_copy_value);
         }
     }
 }