private function verifyCopyBlobWorker($options, $blobs, $getBlobResult, $sourceDataSize, $metadata)
 {
     $this->assertEquals(2, count($blobs), 'Should end up with 2 blob with same name as dest blob, snapshot and copied blob');
     $this->assertEquals($sourceDataSize, $getBlobResult->getProperties()->getContentLength(), 'Dest length should be the same as the source length');
     $this->assertNotNull($getBlobResult->getMetadata(), 'blob Metadata');
     $expectedMetadata = count($options->getMetadata()) == 0 ? $metadata : $options->getMetadata();
     $resMetadata = $getBlobResult->getMetadata();
     $this->assertEquals(count($expectedMetadata), count($resMetadata), 'Metadata');
     foreach ($expectedMetadata as $key => $value) {
         $this->assertEquals($value, $resMetadata[strtolower($key)], 'Metadata(' . $key . ')');
     }
     // Make sure the last modified date is within 10 seconds
     $now = new \DateTime();
     $this->assertTrue(BlobServiceFunctionalTestData::diffInTotalSeconds($getBlobResult->getProperties()->getLastModified(), $now) < 10, 'Last modified date (' . $getBlobResult->getProperties()->getLastModified()->format(\DateTime::RFC1123) . ')' . ' should be within 10 seconds of $now (' . $now->format(\DateTime::RFC1123) . ')');
 }