'value', 'an_int' => 1234, 'a_bool' => true, 'null' => null, 'a_double' => 4.563, 'an_int_array' => [1, 32, 55, 134], 'an_string_array' => ['asdf', 'fdsa'] ]; /** * @var EntityJSONSerializer */ protected $trait; public function setUp() { $this->trait = $this->getObjectForTrait(EntityJSONSerializer::class); foreach (self::TEST_FIELDS as $key => $value){ $this->trait->$key = $value; } } public function testSerializeFieldsFull(){ $actual_data = $this->trait->serializeFields(array_keys(self::TEST_FIELDS)); $this->assertEquals(self::TEST_FIELDS, $actual_data); } public function testSerializeFieldsPartial(){ $fields = ['an_string', 'an_int', 'an_int_array']; $actual_data = $this->trait->serializeFields($fields); $expected_data = []; foreach ($fields as $value){ $expected_data[$value] = self::TEST_FIELDS[$value]; } $this->assertEquals($expected_data, $actual_data); } }