public function testMergeDataObjects() { $firstname1 = 'Firstname1'; $lastnam1 = 'Lastname1'; $email1 = '*****@*****.**'; $firstDataObject = $this->_customerBuilder->setFirstname($firstname1)->setLastname($lastnam1)->setEmail($email1)->create(); $lastname2 = 'Lastname2'; $middlename2 = 'Middlename2'; $secondDataObject = $this->_customerBuilder->setLastname($lastname2)->setMiddlename($middlename2)->create(); $mergedDataObject = $this->_customerBuilder->mergeDataObjects($firstDataObject, $secondDataObject); $this->assertNotSame($firstDataObject, $mergedDataObject, 'A new object must be created for merged Data Object.'); $this->assertNotSame($secondDataObject, $mergedDataObject, 'A new object must be created for merged Data Object.'); $expectedDataObject = array('firstname' => $firstname1, 'lastname' => $lastname2, 'middlename' => $middlename2, 'email' => $email1); $this->assertEquals($expectedDataObject, $mergedDataObject->__toArray(), 'Data Objects were merged incorrectly.'); }