twonly-app-dependencies/qr_dart/test/qr_bit_buffer_test.dart
2025-12-07 16:10:41 +01:00

75 lines
1.4 KiB
Dart

import 'dart:math' as math;
import 'package:qr/qr.dart';
import 'package:test/test.dart';
void main() {
test('simple', _testSimple);
test('complex', _testComplex);
test('getByte', _testGetByte);
}
void _testGetByte() {
var bb = QrBitBuffer()..put(12, 8);
expect(bb.getByte(0), equals(12));
bb = QrBitBuffer()..put(42, 8);
expect(bb.getByte(0), equals(42));
bb.put(19, 8);
expect(bb.getByte(1), equals(19));
}
void _testComplex() {
var bb = QrBitBuffer()..put(0, 8);
expect(
bb,
orderedEquals([false, false, false, false, false, false, false, false]),
);
bb = QrBitBuffer()..put(1, 8);
expect(
bb,
orderedEquals([false, false, false, false, false, false, false, true]),
);
bb = QrBitBuffer()..put(255, 8);
expect(bb, orderedEquals([true, true, true, true, true, true, true, true]));
bb = QrBitBuffer()..put(256, 8);
expect(
bb,
orderedEquals([false, false, false, false, false, false, false, false]),
);
bb = QrBitBuffer()..put(256, 9);
expect(
bb,
orderedEquals([
true,
false,
false,
false,
false,
false,
false,
false,
false,
]),
);
}
final _rnd = math.Random();
void _testSimple() {
final bb = QrBitBuffer();
final sampleBits = <bool>[];
for (var i = 0; i < 100; i++) {
final b = _rnd.nextBool();
sampleBits.add(b);
bb.putBit(b);
}
expect(bb, orderedEquals(sampleBits));
}