public function testClassMembers()
{
$class = $this->typeSystem->getObjectType('DateInterval');
$this->assertSame('DateInterval', $class->getClassType());
$this->assertSame('DateInterval', $class->getReflection()->getName());
$method = $class->getMethod(O\Expression::methodCall(O\Expression::value(''), O\Expression::value('FORmat')));
$this->assertSame('format', $method->getName());
$this->assertSame($this->typeSystem, $method->getTypeSystem());
$this->assertEqualsNativeType(INativeType::TYPE_STRING, $method->getReturnType());
$this->assertEqualsNativeType(INativeType::TYPE_STRING, $method->getReturnTypeWithArguments(['ssd']));
$this->assertEqualsObjectType('DateInterval', $method->getSourceType());
$this->assertSame('format', $method->getReflection()->getName());
$field = $class->getField(O\Expression::field(O\Expression::value(''), O\Expression::value('y')));
$this->assertSame('y', $field->getName());
$this->assertSame(false, $field->isStatic());
}