Beispiel #1
0
 public function testClassWithMorePropertiesFilteredByFieldsFromString()
 {
     $instance = new ClassWithMoreProperties();
     $instance->a = "foo1";
     $instance->b = "foo2";
     $instance->c = "foo3";
     $instance->d = "foo4";
     $instance->e = "foo5";
     $this->assertEquals(["a" => "foo1", "b" => "foo2", "c" => "foo3", "d" => "foo4", "e" => "foo5", "f" => null, "g" => []], ClassWithMorePropertiesMeta::toArray($instance));
     $this->assertEquals(["a" => "foo1"], ClassWithMorePropertiesMeta::toArray($instance, null, Fields::fromString("a")));
     $this->assertEquals(["b" => "foo2", "c" => "foo3", "d" => "foo4"], ClassWithMorePropertiesMeta::toArray($instance, null, Fields::fromString("b,c,d")));
     $instance2 = new ClassWithMoreProperties();
     $instance2->a = "foo6";
     $instance->f = $instance2;
     $this->assertEquals(["e" => "foo5", "f" => ["a" => "foo6", "b" => null]], ClassWithMorePropertiesMeta::toArray($instance, null, Fields::fromString("e,f{a,b}")));
     $instance3 = new ClassWithMoreProperties();
     $instance3->a = "foo7";
     $instance->g = [$instance2, $instance3];
     $this->assertEquals(["g" => [["a" => "foo6"], ["a" => "foo7"]]], ClassWithMorePropertiesMeta::toArray($instance, null, Fields::fromString("g{a}")));
 }
Beispiel #2
0
 public function testClassWithMorePropertiesFilteredByFieldsFromString()
 {
     $instance = new ClassWithMoreProperties();
     $instance->a = "foo1";
     $instance->b = "foo2";
     $instance->c = "foo3";
     $instance->d = "foo4";
     $instance->e = "foo5";
     $this->assertEquals('{"a":"foo1","b":"foo2","c":"foo3","d":"foo4","e":"foo5"}', ClassWithMorePropertiesMeta::toJson($instance));
     $this->assertEquals('{"a":"foo1"}', ClassWithMorePropertiesMeta::toJson($instance, null, Fields::fromString("a")));
     $this->assertEquals('{"b":"foo2","c":"foo3","d":"foo4"}', ClassWithMorePropertiesMeta::toJson($instance, null, Fields::fromString("b,c,d")));
     $instance2 = new ClassWithMoreProperties();
     $instance2->a = "foo6";
     $instance->f = $instance2;
     $this->assertEquals('{"e":"foo5","f":{"a":"foo6","b":null}}', ClassWithMorePropertiesMeta::toJson($instance, null, Fields::fromString("e,f{a,b}")));
     $instance3 = new ClassWithMoreProperties();
     $instance3->a = "foo7";
     $instance->g = [$instance2, $instance3];
     $this->assertEquals('{"g":[{"a":"foo6"},{"a":"foo7"}]}', ClassWithMorePropertiesMeta::toJson($instance, null, Fields::fromString("g{a}")));
 }