Advertisement
fruffl

ClassAlias

Jan 25th, 2013
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.60 KB | None | 0 0
  1. /*
  2. ILLI\Dev\Unit\Core\Object\TestClass
  3.     testClassRegisterAlias
  4.         assertEqual
  5.             result: pass
  6.     testClassAliasInstanceOfClass
  7.         assertEqual
  8.             result: pass
  9.     testClassAliasWithConfig
  10.         assertEqual
  11.             result: pass
  12.     testClassUnregisterAlias
  13.         assertEqual
  14.             result: pass
  15. */
  16.  
  17. <?PHP
  18.     NAMESPACE ILLI\Dev\Unit\Core\Object;
  19.    
  20.     CLASS TestClass EXTENDS \ILLI\Test\Unit
  21.     {
  22.         static protected $__defaultConfig =
  23.         [
  24.             self::DEF_CLASS =>
  25.             [
  26.                 'ILLI\Dev\Mock\Core\Object\MockClass'
  27.             ]
  28.         ];
  29.        
  30.         public function testClassRegisterAlias()
  31.         {
  32.             $result = $this
  33.             ->Core_Object_T_Class_register
  34.             (
  35.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  36.                 'ILLI\Dev\Mock\Core\Object\MockClassAlias'
  37.             )
  38.             ->Core_Object_T_Class_emit
  39.             (
  40.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  41.                 [],
  42.                 ['instance' => FALSE]
  43.             );
  44.            
  45.             $expected = 'ILLI\Dev\Mock\Core\Object\MockClassAlias';
  46.            
  47.             $this->assertEqual($expected, $result);
  48.         }
  49.        
  50.         public function testClassAliasInstanceOfClass()
  51.         {
  52.             $result = $this
  53.             ->Core_Object_T_Class_register
  54.             (
  55.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  56.                 'ILLI\Dev\Mock\Core\Object\MockClassAlias'
  57.             )
  58.             ->Core_Object_T_Class_emit
  59.             (
  60.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  61.                 [],
  62.                 [
  63.                     'instance' => TRUE,
  64.                     'instanceOf' => 'ILLI\Dev\Mock\Core\Object\MockClass'
  65.                 ]
  66.             );
  67.            
  68.             $expected = 'ILLI\Dev\Mock\Core\Object\MockClassAlias';
  69.            
  70.             $this->assertEqual($expected, get_class($result));
  71.         }
  72.        
  73.         public function testClassAliasWithConfig()
  74.         {
  75.             $result = $this
  76.             ->Core_Object_T_Class_emit
  77.             (
  78.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  79.                 [
  80.                     'privatePropertyWithSetter' => 'PASSED',
  81.                     'protectedPropertyWithSetter'   => 'PASSED',
  82.                     'publicPropertyWithSetter'  => 'PASSED',
  83.                     'protectedProperty'     => 'PASSED',
  84.                     'publicProperty'        => 'PASSED',
  85.                     'noSetterAndNoPropertyDefined'  => 'undefinedProperty'
  86.                 ],
  87.                 ['instance' => TRUE]
  88.             )
  89.             ->to('array');
  90.            
  91.             $expected =
  92.             [
  93.                 'protectedPropertyWithSetter'   => 'PASSED',
  94.                 'protectedProperty'     => 'PASSED',
  95.                 'publicPropertyWithSetter'  => 'PASSED',
  96.                 'publicProperty'        => 'PASSED',
  97.             ];
  98.            
  99.             $this->assertEqual($expected, $result);
  100.         }
  101.        
  102.         public function testClassUnregisterAlias()
  103.         {
  104.             $result = $this
  105.             ->Core_Object_T_Class_unregister('ILLI\Dev\Mock\Core\Object\MockClass')
  106.             ->Core_Object_T_Class_emit
  107.             (
  108.                 'ILLI\Dev\Mock\Core\Object\MockClass',
  109.                 [],
  110.                 ['instance' => FALSE]
  111.             );
  112.            
  113.             $expected = 'ILLI\Dev\Mock\Core\Object\MockClass';
  114.            
  115.             $this->assertEqual($expected, $result);
  116.         }
  117.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement