feat: add new tests

This commit is contained in:
2026-08-07 15:29:02 +03:00
parent 8e6fbeabbf
commit 411b00c3ee
3 changed files with 125 additions and 13 deletions

View File

@@ -1,16 +1,53 @@
import 'dart:typed_data';
import 'package:potato_pass_core/potato_pass_core.dart';
import 'package:test/test.dart';
void main() {
group('A group of tests', () {
final awesome = Awesome();
group('CompactTextEncoder Tests', () {
test('Кодирование и декодирование русской строки', () {
const input = 'ИВАНОВ ИВАН ИВАНОВИЧ';
// Кодируем
final Uint8List encoded = CompactTextEncoder.encode(input);
// Проверяем декодирование
final String decoded = CompactTextEncoder.decode(encoded);
setUp(() {
// Additional setup goes here.
expect(decoded, equals(input));
});
test('First Test', () {
expect(awesome.isAwesome, isTrue);
test('Проверка сжатия размера', () {
const input = 'ИВАНОВ ИВАН'; // 11 символов
// В UTF-8 кириллица весит 2 байта на символ и займут 22 байта
// В 6-битном кодировщике 11 символов округляются до 12 и займут 9 байт
final Uint8List encoded = CompactTextEncoder.encode(input);
expect(encoded.length, equals(9));
});
test('Обработка строчных букв (автоперевод в верхний регистр)', () {
const input = 'Петров Петр';
final Uint8List encoded = CompactTextEncoder.encode(input);
final String decoded = CompactTextEncoder.decode(encoded);
expect(decoded, equals('ПЕТРОВ ПЕТР'));
});
test('Тест некодируемых символов', () {
const input = '_.`~!@#\$%^&*()=+\\||//1234567890.';//2 точки и 29 некодирукемый символ (точки чтобы не обрезало) и _ в начале которе
final Uint8List encoded = CompactTextEncoder.encode(input);
final String decoded = CompactTextEncoder.decode(encoded);
expect(decoded, equals('. .'));//2 точки и 29 пробелов (некодируемые символы заменяются на пробелы)
});
test('Тест кодируемости всех символов', () {
const input = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ .-,';//Все неслужебные символы
final Uint8List encoded = CompactTextEncoder.encode(input);
final String decoded = CompactTextEncoder.decode(encoded);
expect(decoded, equals('АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ .-,'));
});
});
}
}