describe('->scaleUp(2)', function () {
        beforeEach(function () {
            $containerBldr = new ContainerBuilder();
            $containers = new ContainerCollection();
            $containers->add($containerBldr->build());
            $containers->add($containerBldr->build());
            $this->adapterMock->create(2)->willReturn($containers);
        });
        it('should return a ContainerCollection of 2 objects', function () {
            /** @var \Emris\Cli\Scaler\Domain\ContainerCollection $actual */
            $actual = $this->containerMgr->scaleUp(2);
            expect($actual)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\ContainerCollection');
            expect($actual->count())->to->equal(2);
        });
    });
    describe('->scaleDown(2)', function () {
        beforeEach(function () {
            $containerBldr = new ContainerBuilder();
            $containers = new ContainerCollection();
            $containers->add($containerBldr->build());
            $containers->add($containerBldr->build());
            $this->adapterMock->delete(2)->willReturn($containers);
        });
        it('should return a ContainerCollection of 2 objects', function () {
            /** @var \Emris\Cli\Scaler\Domain\ContainerCollection $actual */
            $actual = $this->containerMgr->scaleDown(2);
            expect($actual)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\ContainerCollection');
            expect($actual->count())->to->equal(2);
        });
    });
});
 * PHP version 5
 * @category  PHP
 * @author    donbstringham <*****@*****.**>
 * @copyright 2016 © donbstringham
 * @license   http://opensource.org/licenses/MIT MIT
 * @version   GIT: <git_id>
 * @link      http://donbstringham.us
 * $LastChangedDate$
 * $LastChangedBy$
 */
use Emris\Cli\Scaler\Domain\ContainerBuilder;
use Emris\Cli\Scaler\Domain\ContainerCollection;
describe('Emris\\Cli\\Scaler\\Domain\\ContainerCollection', function () {
    beforeEach(function () {
        require 'container.data.php';
        $builder = new ContainerBuilder();
        /** @var string $containerData01 */
        $builder->setJson($containerData01);
        $this->container01 = $builder->build();
        /** @var string $containerData02 */
        $builder->setJson($containerData02);
        $this->container02 = $builder->build();
        /** @var string $containerData03 */
        $builder->setJson($containerData03);
        $this->container03 = $builder->build();
        $this->collection = new ContainerCollection([$this->container01, $this->container02, $this->container03]);
    });
    describe('->__construct()', function () {
        it('should return a ContainerCollection object', function () {
            expect($this->collection)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\ContainerCollection');
        });
     $this->faker = \Faker\Factory::create();
 });
 describe('->__construct()', function () {
     it('should return a ServerBuilder object', function () {
         expect($this->builder)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\ServerBuilder');
     });
 });
 describe('->build()', function () {
     it('should return a Server object', function () {
         $server = $this->builder->build();
         expect($server)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\Server');
     });
 });
 describe('->buildFrom($container)', function () {
     it('should return a Server object', function () {
         $contBldr = new ContainerBuilder();
         $contBldr->setId('0123456789abcdefghijklmopqrstuvwxyz');
         $contBldr->setName('/emrisalarmwebservice_eaws_php_1');
         $container = $contBldr->build();
         $server = $this->builder->buildFrom($container);
         expect($server)->to->be->instanceof('Emris\\Cli\\Scaler\\Domain\\Server');
     });
 });
 describe('->buildFromNginxPlus($line)', function () {
     it('should return a Server object', function () {
         $line = 'server 172.16.230.132:32770; # id=0';
         /** @var \Emris\Cli\Scaler\Domain\Server $server */
         $server = $this->builder->buildFromNginxPlus($line);
         expect($server->getIp())->to->equal('172.16.230.132');
         expect($server->getPort())->to->equal('32770');
     });