public function testProductPackagesSynchronization()
{
$provider = $this->getBaseProvider();
$product = new Product();
$package1 = new Package();
$product->addPackage($package1);
$variation = $provider->createVariation($product, false);
$this->assertEquals(0, count($variation->getPackages()));
$provider->synchronizeVariationsPackages($product);
$this->assertEquals(1, count($variation->getPackages()));
$package2 = new Package();
$product->addPackage($package2);
$this->assertEquals(1, count($variation->getPackages()));
$provider->synchronizeVariationsPackages($product);
$this->assertEquals(2, count($variation->getPackages()));
$product->removePackage($package1);
$this->assertEquals(2, count($variation->getPackages()));
$provider->synchronizeVariationsPackages($product);
$this->assertEquals(1, count($variation->getPackages()));
}