<?php
// Base62Test.php
// Created: 2022-01-28
// Updated: 2023-07-21

declare(strict_types=1);

use PHPUnit\Framework\TestCase;
use Index\Serialisation\Base62;

/**
 * @covers Base62
 */
final class Base62Test extends TestCase {
    public const TESTS = [
        ['aaaaaa', 9311514030],
        ['Soap', 12962613],
        ['', 0],
        ['1', 1],
        ['kPH', 80085],
        ['UC', 3510],
        ['p', 25],
        ['6zi', 25252],
        ['1ly7vk', 1234567890],
    ];

    public function testDecode(): void {
        foreach(self::TESTS as $test)
            $this->assertEquals($test[1], Base62::decode($test[0]));
    }

    public function testEncode(): void {
        foreach(self::TESTS as $test)
            $this->assertEquals($test[0], Base62::encode($test[1]));
    }
}