123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?php
- use Luticate\Utils\Dbo\LuDbo;
- use Luticate\Utils\Dbo\LuDboConstraintException;
-
- /**
- * Created by PhpStorm.
- * User: robin
- * Date: 6/5/16
- * Time: 7:02 PM
- */
-
- class TestDbo extends LuDbo {
-
- /**
- * @var $_test string
- */
- private $_test;
-
- /**
- * @return string
- */
- public function getTest()
- {
- return $this->_test;
- }
-
- /**
- * @param string $test
- */
- public function setTest($test)
- {
- $this->_test = $test;
- }
-
- public function ensure42()
- {
- if ($this->_test != "42") {
- throw new LuDboConstraintException("Only 42 is allowed");
- }
- }
-
- }
-
- class TestDbo2 extends LuDbo {
-
- /**
- * @var $_test2 TestDbo[]
- */
- private $_test2;
-
- /**
- * @var $_test3 TestDbo
- * @nullable
- */
- private $_test3;
-
- /**
- * @return TestDbo[]
- */
- public function getTest2()
- {
- return $this->_test2;
- }
-
- /**
- * @param TestDbo[] $test2
- */
- public function setTest2($test2)
- {
- $this->_test2 = $test2;
- }
-
- /**
- * @return TestDbo
- */
- public function getTest3()
- {
- return $this->_test3;
- }
-
- /**
- * @param TestDbo $test3
- */
- public function setTest3($test3)
- {
- $this->_test3 = $test3;
- }
-
- }
-
- class LuDboDeserializeTest extends \PHPUnit_Framework_TestCase{
-
- public function test()
- {
- $json = ["Test" => "Test."];
- $this->assertSame($json, LuDbo::deserializeValue($json, 'TestDbo')->jsonSerialize());
- }
-
- public function test2()
- {
- $json = [
- "Test2" => [
- ["Test" => "Test."],
- ["Test" => "Test.2"]
- ],
- "Test3" => ["Test" => "Test.3"]
- ];
- $this->assertSame($json, LuDbo::deserializeValue($json, 'TestDbo2')->jsonSerialize());
- }
-
- public function test3()
- {
- $json = [
- "Test2" => [
- ["Test" => "Test."],
- ["Test" => "Test.2"]
- ],
- "Test3" => null
- ];
- $this->assertSame($json, LuDbo::deserializeValue($json, 'TestDbo2')->jsonSerialize());
- }
-
- public function test4()
- {
- $json = [
- "Test2" => [
- ["Test" => "Test."],
- null
- ],
- "Test3" => null
- ];
- $this->assertSame($json, LuDbo::deserializeValue($json, 'TestDbo2')->jsonSerialize());
- }
- }
|