cii-text-analysis/vendor/yooper/php-text-analysis/tests/TextAnalysis/Analysis/FreqDistTest.php
Jéremy Munsch f68d2ac333
premier poc
2026-02-11 08:24:04 +01:00

45 lines
1.4 KiB
PHP
Executable file

<?php
namespace Tests\TextAnalysis\Analysis;
use TextAnalysis\Analysis\FreqDist;
/**
* Test cases for FreqDist
* @author yooper (yooper)
*/
class FreqDistTest extends \PHPUnit\Framework\TestCase
{
public function testSimpleFreqDist()
{
$freqDist = new FreqDist(array("time", "flies", "like", "an", "arrow", "time", "flies", "like", "what"));
$this->assertTrue(count($freqDist->getHapaxes()) === 3);
$this->assertEquals(9, $freqDist->getTotalTokens());
$this->assertEquals(6, $freqDist->getTotalUniqueTokens());
}
public function testEmptyHapaxesFreqDist()
{
$freqDist = new FreqDist(array("time", "time", "what", "what"));
$this->assertTrue(count($freqDist->getHapaxes()) === 0);
$this->assertEquals(4, $freqDist->getTotalTokens());
$this->assertEquals(2, $freqDist->getTotalUniqueTokens());
}
public function testSingleHapaxFreqDist()
{
$freqDist = new FreqDist(array("time"));
$this->assertTrue(count($freqDist->getHapaxes()) === 1);
$this->assertEquals(1, $freqDist->getTotalTokens());
$this->assertEquals(1, $freqDist->getTotalUniqueTokens());
}
/**
*
*/
public function testEmptyFreqDist()
{
$this->expectException(\TextAnalysis\Exceptions\InvalidParameterSizeException::class);
$freqDist = new FreqDist([]);
}
}