public function testDecode() { $db = $this->getDb(); $adapter = new SqliteTypeAdapter($db); $this->assertNull($adapter->decode(DataType::integer(), null)); $this->assertSame(15, $adapter->decode(DataType::integer(), '15')); $this->assertSame(33.0, $adapter->decode(DataType::float(), 33)); $this->assertSame(true, $adapter->decode(DataType::boolean(), 1)); $this->assertSame(false, $adapter->decode(DataType::boolean(), 0)); $this->assertSame(4242, $adapter->decode(DataType::date(), 4242)); $this->assertSame(4242, $adapter->decode(DataType::dateTime(), 4242)); $this->assertSame('foo bar baz', $adapter->decode(DataType::string(), 'foo bar baz')); $this->assertSame([], $adapter->decode(DataType::object(), '[]')); }
public function testDecode() { $db = $this->getDb(); $adapter = new PostgresqlTypeAdapter($db); $this->assertNull($adapter->decode(DataType::integer(), null)); $this->assertSame(15, $adapter->decode(DataType::integer(), '15')); $this->assertSame(33.0, $adapter->decode(DataType::float(), 33)); $this->assertSame(true, $adapter->decode(DataType::boolean(), 1)); $this->assertSame(false, $adapter->decode(DataType::boolean(), 0)); $time = time(); $encoded = $adapter->encode(DataType::dateTime(), $time); $this->assertTrue(preg_match('/^"(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})"$/', $encoded, $matches) === 1); $this->assertEquals($time, $adapter->decode(DataType::dateTime(), $matches[1])); $this->assertSame('foo bar baz', $adapter->decode(DataType::string(), 'foo bar baz')); $this->assertSame([], $adapter->decode(DataType::object(), '[]')); }