public function testGetRequired($expected, $package, $requireDependencies, $requireDevDependencies)
{
$builder = new PackageSelection(new NullOutput(), 'build', [], false);
$reflection = new \ReflectionClass(get_class($builder));
$method = $reflection->getMethod('getRequired');
$method->setAccessible(true);
$property = $reflection->getProperty('requireDependencies');
$property->setAccessible(true);
$property->setValue($builder, $requireDependencies);
$property = $reflection->getProperty('requireDevDependencies');
$property->setAccessible(true);
$property->setValue($builder, $requireDevDependencies);
$this->assertSame($expected, $method->invokeArgs($builder, [$package]));
}