public function testAddPackage($packageName, $packageVersion, $expectedStability)
{
// Prepare the installer
OptionalPackages::removeDevDependencies();
$io = $this->prophesize('Composer\\IO\\IOInterface');
$io->write(Argument::containingString('Adding package'))->shouldBeCalled();
OptionalPackages::addPackage($io->reveal(), $packageName, $packageVersion);
$this->assertComposerHasPackages(['zendframework/zend-stdlib']);
$stabilityFlags = $this->getStabilityFlags();
// Stability flags are only set for non-stable packages
if ($expectedStability) {
$this->assertArrayHasKey($packageName, $stabilityFlags);
$this->assertEquals($expectedStability, $stabilityFlags[$packageName]);
}
}