test_string_chunked.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'dart:math';
  2. import 'package:flutter_test/flutter_test.dart';
  3. import 'package:super_logging/super_logging.dart';
  4. var random = Random();
  5. void main() {
  6. final chunkSize = SuperLogging.logChunkSize;
  7. test('test with empty text', () {
  8. var text = randomText(0);
  9. var actual = text.chunked(chunkSize).toList();
  10. var expected = [];
  11. expect(expected, actual);
  12. });
  13. test('test with length < chunk size', () {
  14. var text = randomText(chunkSize ~/ 2.5);
  15. var actual = text.chunked(chunkSize).toList();
  16. var expected = [text];
  17. expect(expected, actual);
  18. });
  19. test('test with length = chunk size', () {
  20. var text = randomText(chunkSize);
  21. var actual = text.chunked(chunkSize).toList();
  22. var expected = [text];
  23. expect(expected, actual);
  24. });
  25. test('test with length > chunk size', () {
  26. var text = randomText((chunkSize * 2.5).toInt());
  27. var actual = text.chunked(chunkSize).toList();
  28. var expected = [
  29. text.substring(0, chunkSize),
  30. text.substring(chunkSize, chunkSize * 2),
  31. text.substring(chunkSize * 2)
  32. ];
  33. expect(expected, actual);
  34. });
  35. }
  36. String randomText(int len) {
  37. var charCodes = List.generate(len, (index) => random.nextInt(0x10FFFF));
  38. return String.fromCharCodes(charCodes).substring(0, len);
  39. }