public function testConfigureHealthCheck()
{
$loadBalancerName = self::LB_NAME_TEST;
$elb = $this->getElbMock();
$loadBalancer = $elb->loadBalancer->describe($loadBalancerName)->get(0);
//Saves the original value of healthCheck
$original = clone $loadBalancer->healthCheck;
//Modify own loadBalancer's healthCheck data
$loadBalancer->healthCheck->interval = 10;
$loadBalancer->healthCheck->target = 'TCP:1025';
$loadBalancer->healthCheck->healthyThreshold = 15;
$loadBalancer->healthCheck->timeout = 2;
$loadBalancer->healthCheck->unhealthyThreshold = 1;
//Saves the expected result
$expected = clone $loadBalancer->healthCheck;
//Configure healthCheck using loadBalancer's own dataset
$result = $loadBalancer->configureHealthCheck();
$this->assertEquals($expected, $result);
//Reset loadBalancer
$elb->loadBalancer->describe($loadBalancerName);
//Checks if it's ok
$this->assertEquals($original->toArray(), $loadBalancer->healthCheck->toArray());
//Configures healthCheck
$result = $loadBalancer->configureHealthCheck($expected);
//Checks if the result matches expected
$this->assertEquals($expected->toArray(), $result->toArray());
//Checks whether loadBalancer's own healthCheck dataset is updated with the result.
$this->assertEquals($expected->toArray(), $loadBalancer->healthCheck->toArray());
unset($expected);
unset($result);
$loadBalancer->delete();
}