Skip to content

Commit

Permalink
rename package to cube
Browse files Browse the repository at this point in the history
  • Loading branch information
mvkasatkin committed Nov 7, 2017
1 parent 336a3b7 commit 4f60d61
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 45 deletions.
4 changes: 2 additions & 2 deletions src/package/AbstractPackage.php → src/cube/AbstractCube.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace WebComplete\core\package;
namespace WebComplete\core\cube;

abstract class AbstractPackage
abstract class AbstractCube
{

/**
Expand Down
7 changes: 7 additions & 0 deletions src/cube/CubeException.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

namespace WebComplete\core\cube;

class CubeException extends \Exception
{
}
38 changes: 19 additions & 19 deletions src/package/PackageManager.php → src/cube/CubeManager.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?php declare(strict_types = 1);

namespace WebComplete\core\package;
namespace WebComplete\core\cube;

use Psr\SimpleCache\CacheInterface;
use WebComplete\core\utils\helpers\ClassHelper;

class PackageManager
class CubeManager
{

const FILENAME = 'Package.php';
const FILENAME = 'Cube.php';

/**
* @var ClassHelper
Expand All @@ -34,36 +34,36 @@ public function __construct(ClassHelper $classHelper, CacheInterface $cache)
}

/**
* @param $packageClassName
* @param $cubeClassName
*
* @return AbstractPackage
* @throws PackageException
* @return AbstractCube
* @throws CubeException
*/
public function getPackage($packageClassName): AbstractPackage
public function getCube($cubeClassName): AbstractCube
{
if (!isset($this->registered[$packageClassName])) {
throw new PackageException($packageClassName . ' is not registered');
if (!isset($this->registered[$cubeClassName])) {
throw new CubeException($cubeClassName . ' is not registered');
}

return $this->registered[$packageClassName];
return $this->registered[$cubeClassName];
}

/**
* @param $packageClassName
* @param $cubeClassName
* @param array $definitions
*
* @throws PackageException
* @throws CubeException
*/
public function register($packageClassName, array &$definitions)
public function register($cubeClassName, array &$definitions)
{
if (!isset($this->registered[$packageClassName])) {
$package = new $packageClassName;
if (!$package instanceof AbstractPackage) {
throw new PackageException($packageClassName . ' is not an instance of ' . AbstractPackage::class);
if (!isset($this->registered[$cubeClassName])) {
$cube = new $cubeClassName;
if (!$cube instanceof AbstractCube) {
throw new CubeException($cubeClassName . ' is not an instance of ' . AbstractCube::class);
}

$package->registerDependencies($definitions);
$this->registered[$packageClassName] = $package;
$cube->registerDependencies($definitions);
$this->registered[$cubeClassName] = $cube;
}
}

Expand Down
7 changes: 0 additions & 7 deletions src/package/PackageException.php

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
<?php

namespace WebComplete\core\package;
namespace WebComplete\core\cube;

use Mvkasatkin\mocker\Mocker;
use Symfony\Component\Cache\Simple\NullCache;
use WebComplete\core\utils\helpers\ClassHelper;

class PackageManagerTest extends \CoreTestCase
class CubeManagerTest extends \CoreTestCase
{

public function testInstance()
{
$classHelper = new ClassHelper();
$pm = new PackageManager($classHelper, new NullCache());
$this->assertInstanceOf(PackageManager::class, $pm);
$pm = new CubeManager($classHelper, new NullCache());
$this->assertInstanceOf(CubeManager::class, $pm);
}

public function testGetPackage()
{
$p = Mocker::create(AbstractPackage::class);
$p = Mocker::create(AbstractCube::class);
$classHelper = new ClassHelper();
$pm = new PackageManager($classHelper, new NullCache());
$pm = new CubeManager($classHelper, new NullCache());
$def = [];
$pm->register(get_class($p), $def);
$this->assertInstanceOf(get_class($p), $pm->getPackage(get_class($p)));
$this->assertInstanceOf(get_class($p), $pm->getCube(get_class($p)));
}

public function testGetPackageException()
{
$this->expectException(PackageException::class);
$this->expectException(CubeException::class);
$classHelper = new ClassHelper();
$pm = new PackageManager($classHelper, new NullCache());
$pm->getPackage('asd');
$pm = new CubeManager($classHelper, new NullCache());
$pm->getCube('asd');
}

public function testRegisterException()
{
$this->expectException(PackageException::class);
$this->expectException(CubeException::class);
$p = Mocker::create(\stdClass::class);
$classHelper = new ClassHelper();
$pm = new PackageManager($classHelper, new NullCache());
$pm = new CubeManager($classHelper, new NullCache());
$def = [];
$pm->register(get_class($p), $def);
}
Expand All @@ -50,12 +50,12 @@ public function testRegisterAll()
$def = [];
/** @var ClassHelper $classHelper */
$classHelper = Mocker::create(ClassHelper::class, [
Mocker::method('getClassMap', 1, [$dir, PackageManager::FILENAME])->returns([
Mocker::method('getClassMap', 1, [$dir, CubeManager::FILENAME])->returns([
'SomeDir/SomeFile' => 'SomeClass'
])
]);
/** @var PackageManager $pm */
$pm = Mocker::create(PackageManager::class, [
/** @var CubeManager $pm */
$pm = Mocker::create(CubeManager::class, [
Mocker::method('register', 1, ['SomeClass', $def])
], [$classHelper, new NullCache()]);
$pm->registerAll($dir, $def);
Expand All @@ -66,9 +66,9 @@ public function testFindAll()
$dir = 'SomeDir';
/** @var ClassHelper $classHelper */
$classHelper = Mocker::create(ClassHelper::class, [
Mocker::method('getClassMap', 1, [$dir, PackageManager::FILENAME])->returns([])
Mocker::method('getClassMap', 1, [$dir, CubeManager::FILENAME])->returns([])
]);
$pm = new PackageManager($classHelper, new NullCache());
$pm = new CubeManager($classHelper, new NullCache());
$pm->findAll($dir);
}
}

0 comments on commit 4f60d61

Please sign in to comment.