public function testOperationEncode() { $op = new SetOperation("name", "alice"); $this->assertEquals($op->encode(), "alice"); $op = new SetOperation("score", 70.0); $this->assertEquals($op->encode(), 70.0); $date = new DateTime(); $op = new SetOperation("released", $date); $out = $op->encode(); $this->assertEquals($out['__type'], "Date"); $this->assertEquals($out['iso'], LeanClient::formatDate($date)); }
public function testDecodeDateWithTimeZone() { $zones = array("Asia/Shanghai", "America/Los_Angeles", "Asia/Tokyo", "Europe/London"); foreach ($zones as $zone) { $date = new DateTime("now", new DateTimeZone($zone)); $type = array("__type" => "Date", "iso" => LeanClient::formatDate($date)); $this->assertEquals($date, LeanClient::decode($type, null)); } }