fixed possible lockups on app start
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:marianum_mobile/utils/exponential_backoff.dart';
|
||||
|
||||
void main() {
|
||||
group('exponentialBackoff', () {
|
||||
test('doubles per attempt starting at base', () {
|
||||
expect(exponentialBackoff(1), const Duration(milliseconds: 500));
|
||||
expect(exponentialBackoff(2), const Duration(seconds: 1));
|
||||
expect(exponentialBackoff(3), const Duration(seconds: 2));
|
||||
expect(exponentialBackoff(4), const Duration(seconds: 4));
|
||||
});
|
||||
|
||||
test('caps at max', () {
|
||||
expect(exponentialBackoff(5), const Duration(seconds: 5));
|
||||
expect(exponentialBackoff(40), const Duration(seconds: 5));
|
||||
expect(exponentialBackoff(1000), const Duration(seconds: 5));
|
||||
});
|
||||
|
||||
test('treats attempt 0 and negatives like the first attempt', () {
|
||||
expect(exponentialBackoff(0), const Duration(milliseconds: 500));
|
||||
expect(exponentialBackoff(-3), const Duration(milliseconds: 500));
|
||||
});
|
||||
|
||||
test('honours custom base and max', () {
|
||||
expect(
|
||||
exponentialBackoff(
|
||||
3,
|
||||
base: const Duration(seconds: 1),
|
||||
max: const Duration(seconds: 3),
|
||||
),
|
||||
const Duration(seconds: 3),
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user