phpOMS/tests/Utils/Encoding/Huffman/HuffmanTest.php
2018-03-30 18:37:23 +02:00

43 lines
1.2 KiB
PHP

<?php
/**
* Orange Management
*
* PHP Version 7.2
*
* @package TBD
* @copyright Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://website.orange-management.de
*/
namespace phpOMS\tests\Utils\Encoding\Huffman;
use phpOMS\Utils\Encoding\Huffman\Huffman;
use phpOMS\Utils\Encoding\Huffman\Dictionary;
class HuffmanTest extends \PHPUnit\Framework\TestCase
{
public function testHuffman()
{
$huff = new Huffman();
self::assertEquals(
hex2bin('a42f5debafd35bee6a940f78f38638fb3f4d6fd13cc672cf01d61bb1ce59e03cdbe89e8e56b5d63aa61387d1ba10'),
$huff->encode('This is a test message in order to test the encoding and decoding of the Huffman algorithm.')
);
self::assertEquals('', $huff->encode(''));
$man = new Huffman();
$man->setDictionary($huff->getDictionary());
self::assertEquals(
'This is a test message in order to test the encoding and decoding of the Huffman algorithm.',
$man->decode(hex2bin('a42f5debafd35bee6a940f78f38638fb3f4d6fd13cc672cf01d61bb1ce59e03cdbe89e8e56b5d63aa61387d1ba10'))
);
self::assertEquals('', $man->decode(''));
}
}