public function testLoadConstant()
 {
     $this->versionA->addConstant($fooA = new GlobalConstant('FOO'));
     $fooA->setPhpType($this->typeRegistry->getNativeType('string'));
     $this->versionB->addConstant($fooB = new GlobalConstant('FOO'));
     $fooB->setPhpType($this->typeRegistry->getNativeType('string'));
     $this->em->persist($this->package);
     $this->em->flush();
     $loadedConst = $this->provider->loadConstant('FOO');
     $this->assertSame($fooA, $loadedConst, 'loadConstant() takes the first constant if no package versions are set.');
     $loadedConst = $this->provider->loadConstant('foo');
     $this->assertNull($loadedConst, 'loadConstant() treats the name **not** as case-insensitive.');
     $this->provider->setPackageVersions(array($this->versionB));
     $loadedConst = $this->provider->loadConstant('FOO');
     $this->assertSame($fooB, $loadedConst, 'loadConstant() takes the constant from one of the set packages.');
     $this->provider->setPackageVersions(array($this->versionC));
     $this->assertNull($this->provider->loadConstant('FOO'), 'loadConstant() returns null if constant is not found in set packages.');
     $this->assertNull($this->provider->loadConstant('BAR'), 'loadConstant() returns null if constant does not exist.');
 }