Example #1
0
 /**
  * @test
  */
 public function testPropertyInheritance()
 {
     $lbName = 'test-load-balancer';
     $elbStub = $this->getServiceInterfaceMock(Aws::SERVICE_INTERFACE_ELB);
     $elbClassName = get_class($elbStub);
     $lbList = new LoadBalancerDescriptionList();
     $lbList->setElb($elbStub);
     $lbList2 = clone $lbList;
     $listenerDescriptionList = new ListenerDescriptionList();
     for ($i = 0; $i < 3; $i++) {
         $listenerDescription = new ListenerDescriptionData();
         $listenerDescription->listener = new ListenerData();
         $listenerDescription->listener->instancePort = 1024 + $i;
         $listenerDescriptionList->append($listenerDescription);
         unset($listenerDescription);
     }
     $lb = new LoadBalancerDescriptionData();
     $lb->setLoadBalancerName($lbName);
     $lb->listenerDescriptions = $listenerDescriptionList;
     $lb2 = clone $lb;
     //Append test
     $lbList->append($lb);
     $this->assertInstanceOf($elbClassName, $lb->getElb());
     $this->assertEquals($lbName, $lb->getLoadBalancerName());
     $this->assertInstanceOf($elbClassName, $lb->listenerDescriptions->getElb());
     $this->assertEquals($lbName, $lb->listenerDescriptions->getLoadBalancerName());
     /* @var $listenerDescription ListenerDescriptionData */
     foreach ($lb->listenerDescriptions as $listenerDescription) {
         $this->assertInstanceOf($elbClassName, $listenerDescription->getElb());
         $this->assertEquals($lbName, $listenerDescription->getLoadBalancerName());
         $this->assertInstanceOf($elbClassName, $listenerDescription->listener->getElb());
         $this->assertEquals($lbName, $listenerDescription->listener->getLoadBalancerName());
     }
     //Array access set test
     $lbList2[0] = $lb2;
     $this->assertInstanceOf($elbClassName, $lb2->getElb());
     $this->assertInstanceOf($elbClassName, $lb2->listenerDescriptions->getElb());
     /* @var $listenerDescription ListenerDescriptionData */
     foreach ($lb2->listenerDescriptions as $listenerDescription) {
         $this->assertInstanceOf($elbClassName, $listenerDescription->getElb());
     }
 }