public function testNativeTypes()
{
$this->assertReturnsNativeType(function () {
'';
}, INativeType::TYPE_STRING);
$this->assertReturnsNativeType(function () {
'abcef';
}, INativeType::TYPE_STRING);
$this->assertReturnsNativeType(function () {
1;
}, INativeType::TYPE_INT);
$this->assertReturnsNativeType(function () {
133453;
}, INativeType::TYPE_INT);
$this->assertReturnsNativeType(function () {
true;
}, INativeType::TYPE_BOOL);
$this->assertReturnsNativeType(function () {
false;
}, INativeType::TYPE_BOOL);
$this->assertReturnsNativeType(function () {
null;
}, INativeType::TYPE_NULL);
$this->assertReturnsNativeType(function () {
3.14;
}, INativeType::TYPE_DOUBLE);
$this->assertReturnsNativeType(function () {
[];
}, INativeType::TYPE_ARRAY);
$this->assertReturnsNativeType(function () {
[1, 2, 'ddsad' => 2, 'abc'];
}, INativeType::TYPE_ARRAY);
}