public function testExclusionOfProperties() { $serialized = json_decode($this->serializer->serialize($this->instance), true); $this->assertArrayNotHasKey('internalProperty', $serialized); $this->assertArrayNotHasKey('excluded', $serialized); $this->assertArrayHasKey('propertyOne', $serialized); $this->assertArrayHasKey('propertyTwo', $serialized); $this->assertArrayHasKey('simpleInstance', $serialized); $this->assertArrayHasKey('className', $serialized); self::$data['originalData'] = $this->instance; self::$data['rawData'] = json_encode($serialized); }
public function testConstructorWithArgumentsIsCorrectlyHandled() { $expected = 'This is a test string value'; $instance = new ConstructorWithArgumentsClass($expected); $this->assertEquals($expected, $instance->__get('someValue')); $serializedInstance = self::$instance->serialize($instance); $deserializedInstance = self::$instance->deserialize($serializedInstance); $this->assertEquals($instance->__get('someValue'), $deserializedInstance->__get('someValue')); }
public function testPropertiesAreMapped() { $mockedSerializedInstance = (array) $this->instance; foreach ($mockedSerializedInstance as $key => $val) { $mockedSerializedInstance[str_replace('*', '', $key)] = $val; unset($key); } $className = get_class($this->instance); $mappableProperties = $this->serializer->getConfiguration()['mappings'][$className]['mappedVariables']; //Does our serialized class have our expected keys foreach (array_keys($mappableProperties) as $propertyName) { $this->assertFalse(array_key_exists($propertyName, $mockedSerializedInstance)); } self::$serializedMappedInstance = $this->serializer->serialize($this->instance); $this->assertNotEquals(json_encode($mockedSerializedInstance), self::$serializedMappedInstance); //Does our serialized class have our expected keys foreach (array_keys($mappableProperties) as $propertyName) { $this->assertNotContains($propertyName, self::$serializedMappedInstance); } }