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
9 public function testSimpleClassConversion() {
\r
10 $o = new SimpleClass();
\r
11 $o->setName("test");
\r
12 $o->setDescription("description");
\r
14 $this->assertEquals("test", $o->getName());
\r
15 $this->assertEquals("description", $o->getDescription());
\r
17 $json = $o->toJSON();
\r
18 $this->assertEquals('{"name":"test","desc":"description"}', $json);
\r
20 $newO = new SimpleClass();
\r
21 $newO->fromJson($json);
\r
22 $this->assertEquals($o, $newO);
\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
33 $this->assertEquals("test", $o->getName());
\r
34 $this->assertEquals("description", $o->getDescription());
\r
35 $this->assertEquals(array('payment', 'info', 'test'), $o->getTags());
\r
37 $json = $o->toJSON();
\r
38 $this->assertEquals('{"name":"test","desc":"description","tags":["payment","info","test"]}', $json);
\r
40 $newO = new ArrayClass();
\r
41 $newO->fromJson($json);
\r
42 $this->assertEquals($o, $newO);
\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
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
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
62 $newO = new NestedClass();
\r
63 $newO->fromJson($json);
\r
64 $this->assertEquals($o, $newO);
\r