setNumberGenerator(new DateNumberGenerator()); $model->setTemplate($template); $model->setCustomer($customer); $datePrefix = date('ymd'); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix, $sut->getFilename()); self::assertEquals($datePrefix, (string) $sut); $customer->setName('foo'); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix . '-foo', $sut->getFilename()); self::assertEquals($datePrefix . '-foo', (string) $sut); $customer->setCompany('barß / laölala # ldksjf 123'); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix . '-barss_laolala_ldksjf123', $sut->getFilename()); self::assertEquals($datePrefix . '-barss_laolala_ldksjf123', (string) $sut); $customer->setCompany('까깨꺄꺠꺼께껴꼐꼬꽈sssss'); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix . '-kkakkaekkyakkyaekkeokkekkyeokkyekkokkwasssss', $sut->getFilename()); $customer->setCompany('\"#+ß.!$%&/()=?\\n=/*-+´_<>@' . "\n"); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix . '-ss_n', $sut->getFilename()); $project = new Project(); $project->setName('Demo ProjecT1'); $query = new InvoiceQuery(); $query->addProject($project); $model->setQuery($query); $customer->setCompany('\"#+ß.!$%&/()=?\\n=/*-+´_<>@' . "\n"); $sut = new InvoiceFilename($model); self::assertEquals($datePrefix . '-ss_n-demo_projec_t1', $sut->getFilename()); } }