public function testInstances()
{
$loadBalancerName = self::LB_NAME_TEST;
$elb = $this->getElbMock();
$loadBalancer = $elb->loadBalancer->describe($loadBalancerName)->get(0);
$this->assertEquals(array('instance-id-1', 'instance-id-2'), array_values($loadBalancer->instances->getQueryArray()));
$loadBalancer->registerInstances(array('instance-id-3', 'instance-id-4'));
$this->assertEquals(array('instance-id-1', 'instance-id-2', 'instance-id-3', 'instance-id-4'), array_values($loadBalancer->instances->getQueryArray()));
$res = $loadBalancer->deregisterInstances(array('instance-id-2', 'instance-id-3'));
$this->assertEquals(array('instance-id-1', 'instance-id-4'), array_values($loadBalancer->instances->getQueryArray()));
$this->assertEquals($res, $loadBalancer->instances);
$instanceHealthResult = $loadBalancer->describeInstanceHealth(array('instance-id-1', 'instance-id-4'));
$this->assertEquals(2, count($instanceHealthResult));
for ($i = 0; $i < 1; $i++) {
foreach (array('description', 'instance-id', 'reason-code', 'state') as $j) {
$name = preg_replace_callback('/(-([a-z]))/', function ($a) {
return strtoupper($a[2]);
}, $j);
$this->assertEquals($j . '-' . ($i * 3 + 1), $instanceHealthResult[$i]->{$name});
}
}
$loadBalancer->delete();
}