introspectType() public method

Guesses the data type of an array
public introspectType ( string $value ) : string
$value string The value to introspect for type data.
return string
 /**
  * testIntrospectType method
  *
  * @return void
  */
 public function testIntrospectType()
 {
     $this->assertEquals('integer', $this->Dbo->introspectType(0));
     $this->assertEquals('integer', $this->Dbo->introspectType(2));
     $this->assertEquals('string', $this->Dbo->introspectType('2'));
     $this->assertEquals('string', $this->Dbo->introspectType('2.2'));
     $this->assertEquals('float', $this->Dbo->introspectType(2.2));
     $this->assertEquals('string', $this->Dbo->introspectType('stringme'));
     $this->assertEquals('string', $this->Dbo->introspectType('0stringme'));
     $data = array(2.2);
     $this->assertEquals('float', $this->Dbo->introspectType($data));
     $data = array('2.2');
     $this->assertEquals('float', $this->Dbo->introspectType($data));
     $data = array(2);
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array('2');
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array('string');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array(2.2, '2.2');
     $this->assertEquals('float', $this->Dbo->introspectType($data));
     $data = array(2, '2');
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array('string one', 'string two');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array('2.2', 3);
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array('2.2', '0stringme');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array(2.2, 3);
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array(2.2, '0stringme');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array(2, 'stringme');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array(2, '2.2', 'stringgme');
     $this->assertEquals('string', $this->Dbo->introspectType($data));
     $data = array(2, '2.2');
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     $data = array(2, 2.2);
     $this->assertEquals('integer', $this->Dbo->introspectType($data));
     // null
     $result = $this->Dbo->value(null, 'boolean');
     $this->assertEquals('NULL', $result);
     // EMPTY STRING
     $result = $this->Dbo->value('', 'boolean');
     $this->assertEquals("'0'", $result);
     // BOOLEAN
     $result = $this->Dbo->value('true', 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value('false', 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value(true, 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value(false, 'boolean');
     $this->assertEquals("'0'", $result);
     $result = $this->Dbo->value(1, 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value(0, 'boolean');
     $this->assertEquals("'0'", $result);
     $result = $this->Dbo->value('abc', 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value(1.234, 'boolean');
     $this->assertEquals("'1'", $result);
     $result = $this->Dbo->value('1.234e05', 'boolean');
     $this->assertEquals("'1'", $result);
     // NUMBERS
     $result = $this->Dbo->value(123, 'integer');
     $this->assertEquals(123, $result);
     $result = $this->Dbo->value('123', 'integer');
     $this->assertEquals('123', $result);
     $result = $this->Dbo->value('0123', 'integer');
     $this->assertEquals("'0123'", $result);
     $result = $this->Dbo->value('0x123ABC', 'integer');
     $this->assertEquals("'0x123ABC'", $result);
     $result = $this->Dbo->value('0x123', 'integer');
     $this->assertEquals("'0x123'", $result);
     $result = $this->Dbo->value(1.234, 'float');
     $this->assertEquals(1.234, $result);
     $result = $this->Dbo->value('1.234', 'float');
     $this->assertEquals('1.234', $result);
     $result = $this->Dbo->value(' 1.234 ', 'float');
     $this->assertEquals("' 1.234 '", $result);
     $result = $this->Dbo->value('1.234e05', 'float');
     $this->assertEquals("'1.234e05'", $result);
     $result = $this->Dbo->value('1.234e+5', 'float');
     $this->assertEquals("'1.234e+5'", $result);
     $result = $this->Dbo->value('1,234', 'float');
     $this->assertEquals("'1,234'", $result);
     $result = $this->Dbo->value('FFF', 'integer');
     $this->assertEquals("'FFF'", $result);
     $result = $this->Dbo->value('abc', 'integer');
     $this->assertEquals("'abc'", $result);
     // STRINGS
     $result = $this->Dbo->value('123', 'string');
     $this->assertEquals("'123'", $result);
     $result = $this->Dbo->value(123, 'string');
     $this->assertEquals("'123'", $result);
     $result = $this->Dbo->value(1.234, 'string');
     $this->assertEquals("'1.234'", $result);
     $result = $this->Dbo->value('abc', 'string');
     $this->assertEquals("'abc'", $result);
     $result = $this->Dbo->value(' abc ', 'string');
     $this->assertEquals("' abc '", $result);
     $result = $this->Dbo->value('a bc', 'string');
     $this->assertEquals("'a bc'", $result);
 }