country = new Country(); } public function tearDown(): void { Fixture::resetTranslations(); parent::tearDown(); } private function makeFactory($dimension) { return new DimensionSegmentFactory($dimension); } public function testCreateSegment() { $factory = $this->makeFactory($this->country); $segment = $factory->createSegment(); $this->assertSame('countryCode', $segment->getSegment()); $this->assertSame('Country', $segment->getName()); $this->assertSame('UserCountry_VisitLocation', $segment->getCategoryId()); $this->assertSame(Dimension::TYPE_DIMENSION, $segment->getType()); } public function testCreateSegmentPredefined() { $factory = $this->makeFactory($this->country); $segment = new Segment(); $segment->setName('My Name'); $segment->setCategory('My Category'); $segment = $factory->createSegment($segment); $this->assertSame('countryCode', $segment->getSegment()); $this->assertSame('My Name', $segment->getName()); $this->assertSame('My Category', $segment->getCategoryId()); $this->assertSame(Dimension::TYPE_DIMENSION, $segment->getType()); } }