1:   2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14:  15:  16:  17:  18:  19:  20:  21:  22:  23:  24:  25:  26:  27:  28:  29:  30:  31:  32:  33:  34:  35:  36:  37:  38:  39:  40:  41:  42:  43:  44:  45:  46:  47:  48:  49:  50:  51:  52:  53:  54:  55:  56:  57:  58:  59:  60:  61:  62:  63:  64:  65:  66:  67:  68:  69:  70:  71:  72:  73:  74:  75:  76:  77:  78:  79:  80:  81:  82:  83:  84:  85:  86:  87:  88:  89:  90:  91:  92:  93:  94:  95:  96:  97:  98:  99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 
<?php
namespace Nethgui\Test\Unit\Nethgui\View;
class ViewGenericTest extends \PHPUnit_Framework_TestCase
{
    
    protected $object;
    
    protected function setUp()
    {
        $parentModule = $this->getMockBuilder('Nethgui\Controller\ListComposite')
            ->setConstructorArgs(array('Parent'))
            ->getMock();
               
        $module = $this->getMockBuilder('Nethgui\Controller\AbstractController')
            ->setConstructorArgs(array('TestingModule'))
            ->getMock();
        $parentModule->expects($this->any())
            ->method('getChildren')
            ->will($this->returnValue($module));        
        
        $module->expects($this->any())
            ->method('getParent')
            ->will($this->returnValue($parentModule));
        $translator = $this->getMockBuilder('Nethgui\View\TranslatorInterface')
            ->getMock();
        
        $translator->expects($this->any())
            ->method('translate')->will($this->returnArgument(0));
        $translator->expects($this->any())
            ->method('getLanguageCode')->will($this->returnValue('en'));
        $this->object = new \Nethgui\View\View(0, $module, $translator);
    }
    
    public function testCopyFrom()
    {
        $data = array('a'=>1, 'b'=>2);
        $this->object->copyFrom($data);
        
        $this->assertEquals($data['a'], $this->object['a']);
        $this->assertEquals($data['b'], $this->object['b']);
    }
    
    public function testSetGetTemplate()
    {
        $this->object->setTemplate('T');        
        $this->assertEquals($this->object->getTemplate(), 'T');
    }
    public function testSpawnView()
    {
        $module = $this->getMockBuilder('Nethgui\Controller\AbstractController')
            ->setConstructorArgs(array('InnerModule'))
            ->setMethods(array())
            ->getMock();
        
        $module->expects($this->once())
            ->method('getIdentifier')
            ->will($this->returnValue('InnerModule'));
        
        $innerView1 = $this->object->spawnView($module, TRUE);
        $innerView2 = $this->object->spawnView($module, 'View2');
        
        $this->assertInstanceOf('Nethgui\View\ViewInterface', $innerView1);
        $this->assertInstanceOf('Nethgui\View\ViewInterface', $innerView2);
        $this->assertEquals($innerView1, $this->object['InnerModule']);
        $this->assertEquals($innerView2, $this->object['View2']);
    }
    
    public function testGetIterator()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testOffsetExists()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testOffsetGet()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testOffsetSet()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testOffsetUnset()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testRender()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testToJson()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function test__toString()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testTranslate()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testGetModule()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
    
    public function testGetModulePath()
    {
        
        $this->markTestIncomplete(
            'This test has not been implemented yet.'
        );
    }
}