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()));
 }