ente/thirdparty/super_logging/test/test_string_chunked.dart
2021-01-13 23:08:58 +05:30

56 lines
1.3 KiB
Dart

import 'dart:math';
import 'package:flutter_test/flutter_test.dart';
import 'package:super_logging/super_logging.dart';
var random = Random();
void main() {
final chunkSize = SuperLogging.logChunkSize;
test('test with empty text', () {
var text = randomText(0);
var actual = text.chunked(chunkSize).toList();
var expected = [];
expect(expected, actual);
});
test('test with length < chunk size', () {
var text = randomText(chunkSize ~/ 2.5);
var actual = text.chunked(chunkSize).toList();
var expected = [text];
expect(expected, actual);
});
test('test with length = chunk size', () {
var text = randomText(chunkSize);
var actual = text.chunked(chunkSize).toList();
var expected = [text];
expect(expected, actual);
});
test('test with length > chunk size', () {
var text = randomText((chunkSize * 2.5).toInt());
var actual = text.chunked(chunkSize).toList();
var expected = [
text.substring(0, chunkSize),
text.substring(chunkSize, chunkSize * 2),
text.substring(chunkSize * 2)
];
expect(expected, actual);
});
}
String randomText(int len) {
var charCodes = List.generate(len, (index) => random.nextInt(0x10FFFF));
return String.fromCharCodes(charCodes).substring(0, len);
}