import 'package:flutter_test/flutter_test.dart'; import 'package:ot_movil/services/dictation_text_accumulator.dart'; void main() { test('un resultado parcial más corto no borra el texto reconocido', () { final accumulator = DictationTextAccumulator()..begin('Texto anterior.'); expect( accumulator.addResult('revisión del drenaje de condensado'), 'Texto anterior. revisión del drenaje de condensado', ); expect( accumulator.addResult('revisión del drenaje'), 'Texto anterior. revisión del drenaje de condensado', ); }); test('un resultado parcial acumulativo reemplaza la versión anterior', () { final accumulator = DictationTextAccumulator()..begin(''); expect(accumulator.addResult('carga de'), 'carga de'); expect(accumulator.addResult('carga de gas'), 'carga de gas'); }); test('una opción nueva se agrega sin repetir las palabras superpuestas', () { final accumulator = DictationTextAccumulator()..begin(''); accumulator.addResult('limpieza de filtros'); expect( accumulator.addResult('filtros y revisión del drenaje'), 'limpieza de filtros y revisión del drenaje', ); }); test('al reiniciar después de una pausa conserva todo lo visible', () { final accumulator = DictationTextAccumulator()..begin('Primera opción'); accumulator.addResult('segunda opción'); accumulator.begin(accumulator.text); expect( accumulator.addResult('tercera opción'), 'Primera opción segunda opción tercera opción', ); }); }