<?php
namespace WsdlToPhp\PackageGenerator\Tests\Model;
use WsdlToPhp\PackageGenerator\Tests\TestCase;
use WsdlToPhp\PackageGenerator\Model\EmptyModel;
class ModelTest extends TestCase
{
/**
* @param string $name
* @return \WsdlToPhp\PackageGenerator\Model\EmptyModel
*/
public static function instance($name)
{
return new EmptyModel(self::getBingGeneratorInstance(), $name);
}
/**
*
*/
public function testGetCleanName()
{
$this->assertEquals('_foo_', self::instance('-foo-')->getCleanName());
$this->assertEquals('_foo_', self::instance('-foo-----')->getCleanName(false));
$this->assertEquals('___foo', self::instance('---foo')->getCleanName(true));
$this->assertEquals('_foo', self::instance('___é%àç_çfoo')->getCleanName(false));
$this->assertEquals('_foo_245', self::instance('___é%àç_çfoo----245')->getCleanName(false));
}
/**
*
*/
public function testNameIsClean()
{
$this->assertTrue(self::instance('foo_')->nameIsClean());
$this->assertTrue(self::instance('foo_54')->nameIsClean());
$this->assertFalse(self::instance('%foo_')->nameIsClean());
$this->assertFalse(self::instance('-foo_')->nameIsClean());
$this->assertFalse(self::instance('éfoo_')->nameIsClean());
}
/**
*
*/
public function testGetDocSubPackages()
{
$this->assertEmpty(self::instance('Foo')->getDocSubPackages());
}
/**
* @expectedException \InvalidArgumentException
*/
public function testExceptionOnAddMetaName()
{
self::instance('foo')->addMeta(null, 'bar');
}
/**
* @expectedException \InvalidArgumentException
*/
public function testExceptionOnAddMetaValue()
{
self::instance('foo')->addMeta('', new \stdClass());
}
/**
*
*/
public function testAddMeta()
{
$instance = self::instance('foo');
$instance->addMeta('foo', array(
'bar' => 1,
));
$instance->addMeta('foo', 'bar');
$this->assertSame(array(
'foo' => array(
'bar' => 1,
'bar',
),
), $instance->getMeta());
}
}
|