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