Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Tests\Unit\Traits;
- use AspectMock\Test;
- use Tests\Unit\Base;
- class SeoTest extends Base
- {
- /**
- * Количество слов в keywords
- * @var int
- */
- protected $keywordsCount = 10;
- /**
- * Конструктор
- */
- protected function __before()
- {
- parent::_before();
- }
- /**
- * Это тестовые стоп-слова, от которых зависит тест "testGenerateKeywordsFromString"
- *
- * @return array
- */
- public function testStopWords()
- {
- $stopWords = [
- 'а', 'без', 'тебя', 'я', 'мне', 'даже', 'если', 'какой', 'кого', 'какая', 'ну', 'такой', 'как',
- ];
- $this->assertNotEmpty($stopWords);
- return $stopWords;
- }
- /**
- * Генерирует ключевые слова из загатовленных строк и проверяет соответсвие с загатовленными keywords-ами
- *
- * @depends testStopWords
- * @dataProvider stringsToBeGenerated
- */
- public function testGenerateKeywordsFromString($string, $pattern, $stopWords)
- {
- // Объект для трейта
- $object = $this->getObjectForTrait('Grumpy\\Traits\\Seo');
- // Мок для метода отдающего стоп-слова
- test::double($object, ['getStopWords' => $stopWords]);
- // Генератор ключевых слов
- $keywords = $object->generateKeywordsFromString($string);
- // Проверка ключевых слов на соответствие с заготовленными аналогами
- $this->assertEquals($pattern, $keywords);
- // Проверка длинны ключевых слов
- $this->assertLessThanOrEqual($this->keywordsCount, count(explode(',', $keywords)));
- }
- /**
- * Датапровайдер, который наполняет тест "testGenerateKeywordsFromString"
- *
- * @return array
- */
- public function stringsToBeGenerated()
- {
- return [
- [
- 'Коляска Chicco Lite Way слово-человек — объявление №248. Маркет',
- 'коляска, chicco, lite, way, слово-человек, объявление, №248, маркет'
- ],
- [
- 'Домик Barbie Crystal Castle 20 pcs — объявление №82142',
- 'домик, barbie, crystal, castle, pcs, объявление, №82142'
- ],
- [
- 'Новые зимние пуховики Crockid на девочек человек-паук: words объявление №127890',
- 'новые, зимние, пуховики, crockid, девочек, человек-паук, words, объявление, №127890'
- ],
- [
- 'А без тебя, я - такой одинокий, как цветок, какой цветок? Эдельвейс. Даже мне если ну!',
- 'одинокий, цветок, эдельвейс'
- ]
- ];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement