feat: add new tests
This commit is contained in:
@@ -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 .-,'));
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user