for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Jh\DataImportTest\ValueConverter;
use Jh\DataImportMagento\ValueConverter\UcwordsValueConverter;
/**
* Class UcwordsValueConverterTest
* @package Jh\DataImportTest\ValueConverter
* @author Aydin Hassan <[email protected]>
*/
class UcwordsValueConverterTest extends \PHPUnit_Framework_TestCase
{
* @var UcwordsValueConverter
protected $converter = null;
public function setUp()
$this->converter = new UcwordsValueConverter();
}
public function testConverterThrowsExceptionIfValueIsNotString()
$this->setExpectedException(
'Ddeboer\DataImport\Exception\UnexpectedTypeException',
'Expected argument of type "string", "stdClass" given'
);
$this->converter->convert(new \stdClass);
new \stdClass()
object<stdClass>
string
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
public function testConverterUpperCasesStringInput()
$this->assertSame(
"All These Words Should Begin With A Capital Letter",
$this->converter->convert('all these words should begin with a capital letter')
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: