3 namespace Tests\Unit\TwitchBot;
5 use App\TwitchBot\TokenizedMessage;
6 use PHPUnit\Framework\TestCase;
8 class TokenizedMessageTest extends TestCase {
10 public function test_classification() {
11 $this->assertEquals('gg', TokenizedMessage::fromString('gg')->classify());
12 $this->assertEquals('gg', TokenizedMessage::fromString('GG')->classify());
13 $this->assertEquals('gg', TokenizedMessage::fromString('Gg')->classify());
14 $this->assertEquals('gg', TokenizedMessage::fromString('ggs')->classify());
15 $this->assertEquals('gg', TokenizedMessage::fromString('ja gg dann, ne')->classify());
16 $this->assertEquals('gg', TokenizedMessage::fromString('duden2Gg')->classify());
17 $this->assertNotEquals('gg', TokenizedMessage::fromString('Eggnog')->classify());
19 $this->assertEquals('gl', TokenizedMessage::fromString('glhf')->classify());
20 $this->assertEquals('gl', TokenizedMessage::fromString('gl & hf')->classify());
22 $this->assertEquals('hi', TokenizedMessage::fromString('hi')->classify());
23 $this->assertEquals('hi', TokenizedMessage::fromString('hallo')->classify());
24 $this->assertEquals('hi', TokenizedMessage::fromString('osora9Hello', ['emotes' => 'blah:0-10'])->classify());
25 $this->assertNotEquals('hi', TokenizedMessage::fromString('hier steht was')->classify());
27 $this->assertEquals('hype', TokenizedMessage::fromString('122 Hype!')->classify());
29 $this->assertEquals('number', TokenizedMessage::fromString('13')->classify());
30 $this->assertEquals('number', TokenizedMessage::fromString('22')->classify());
32 $this->assertEquals('lol', TokenizedMessage::fromString('haha')->classify());
33 $this->assertEquals('lol', TokenizedMessage::fromString('KEKW')->classify());
34 $this->assertEquals('lol', TokenizedMessage::fromString('LUL')->classify());
35 $this->assertEquals('lol', TokenizedMessage::fromString(':D')->classify());
37 $this->assertEquals('o7', TokenizedMessage::fromString('o7')->classify());
38 $this->assertEquals('o7', TokenizedMessage::fromString('ticknaSalutieren', ['emotes' => 'blah:0-15'])->classify());
40 $this->assertEquals('pog', TokenizedMessage::fromString('Pog')->classify());
42 $this->assertEquals('unclassified', TokenizedMessage::fromString('')->classify());
45 public function test_spam() {
46 $this->assertTrue(TokenizedMessage::fromString('!start')->isSpammy());
47 $this->assertTrue(TokenizedMessage::fromString('@LocalhorstTV')->isSpammy());
49 $this->assertTrue(TokenizedMessage::fromString('just 50€')->isSpammy());
50 $this->assertTrue(TokenizedMessage::fromString('hello would you like some followers?')->isSpammy());
51 $this->assertTrue(TokenizedMessage::fromString('get view ers for free')->isSpammy());
53 $this->assertTrue(TokenizedMessage::fromString('also bitte, horstie')->isSpammy());
55 $this->assertTrue(TokenizedMessage::fromString('hey maengi, vielen dank für den raid')->isSpammy());
56 $this->assertTrue(TokenizedMessage::fromString('Willkommen auf Starbase 47')->isSpammy());