import 'package:flutter_test/flutter_test.dart'; import 'package:melo/player/audio_handler.dart'; void main() { group('shouldResumeAt', () { test('kein Resume bei Position 0', () { expect(shouldResumeAt(0, const Duration(minutes: 3)), false); }); test('kein Resume innerhalb der letzten 3 Sekunden einer bekannten Dauer', () { final duration = const Duration(minutes: 3); final lastPositionMs = duration.inMilliseconds - 2000; // 2s vor Ende expect(shouldResumeAt(lastPositionMs, duration), false); }); test('Resume bei Position deutlich vor dem Ende', () { final duration = const Duration(minutes: 3); final lastPositionMs = duration.inMilliseconds - 60000; // 1min vor Ende expect(shouldResumeAt(lastPositionMs, duration), true); }); test('Resume bei unbekannter Dauer (null) und Position > 0', () { expect(shouldResumeAt(45000, null), true); }); }); }