2c5d47760229545ffbc89d1eec7d13b4a4bddf54
[WP-Plugins/glm-member-db.git] /
1 <?php \r
2 namespace PayPal\Test\Common;\r
3 use PayPal\Common\PPModel;\r
4 use PayPal\Test\Common\ArrayClass;\r
5 use PayPal\Test\Common\SimpleClass;\r
6 use PayPal\Test\Common\NestedClass;\r
7 class ModelTest extends \PHPUnit_Framework_TestCase {\r
8         \r
9         public function testSimpleClassConversion() {\r
10                 $o = new SimpleClass();\r
11                 $o->setName("test");\r
12                 $o->setDescription("description");\r
13 \r
14                 $this->assertEquals("test", $o->getName());\r
15                 $this->assertEquals("description", $o->getDescription());\r
16                 \r
17                 $json = $o->toJSON();           \r
18                 $this->assertEquals('{"name":"test","desc":"description"}', $json);\r
19                 \r
20                 $newO = new SimpleClass();\r
21                 $newO->fromJson($json);\r
22                 $this->assertEquals($o, $newO);\r
23                 \r
24         }\r
25         \r
26         \r
27         public function testArrayClassConversion() {\r
28                 $o = new ArrayClass();\r
29                 $o->setName("test");\r
30                 $o->setDescription("description");\r
31                 $o->setTags(array('payment', 'info', 'test'));\r
32                 \r
33                 $this->assertEquals("test", $o->getName());\r
34                 $this->assertEquals("description", $o->getDescription());\r
35                 $this->assertEquals(array('payment', 'info', 'test'), $o->getTags());\r
36                 \r
37                 $json = $o->toJSON();\r
38                 $this->assertEquals('{"name":"test","desc":"description","tags":["payment","info","test"]}', $json);\r
39         \r
40                 $newO = new ArrayClass();\r
41                 $newO->fromJson($json);\r
42                 $this->assertEquals($o, $newO); \r
43         }\r
44         \r
45         public function testNestedClassConversion() {\r
46                 $n = new ArrayClass();\r
47                 $n->setName("test");\r
48                 $n->setDescription("description");\r
49 //              $n->setTags(array('payment', 'info', 'test'));\r
50                 $o = new NestedClass();\r
51                 $o->setId('123');\r
52                 $o->setInfo($n);\r
53                 \r
54                 $this->assertEquals("123", $o->getId());\r
55                 $this->assertEquals("test", $o->getInfo()->getName());          \r
56 //              $this->assertEquals(array('payment', 'info', 'test'), $o->getInfo()->getTags());\r
57                 \r
58                 $json = $o->toJSON();\r
59 //              $this->assertEquals('{"id":"123","info":{"name":"test","desc":"description","tags":["payment","info","test"]}}', $json);\r
60                 $this->assertEquals('{"id":"123","info":{"name":"test","desc":"description"}}', $json);\r
61                 \r
62                 $newO = new NestedClass();\r
63                 $newO->fromJson($json);\r
64                 $this->assertEquals($o, $newO);\r
65         }\r
66 }\r