library inflection3.past.test; import 'package:inflection3/inflection3.dart'; import 'package:inflection3/src/irregular_past_verbs.dart'; import 'package:test/test.dart'; void main() { group('The PastEncoder', () { test('converts verbs from present or participle to past', () { expect(PAST.convert(''), equals('')); expect(PAST.convert('ask'), equals('asked')); expect(PAST.convert('close'), equals('closed')); expect(PAST.convert('die'), equals('died')); expect(PAST.convert('phone'), equals('phoned')); expect(PAST.convert('play'), equals('played')); expect(PAST.convert('destroy'), equals('destroyed')); expect(PAST.convert('show'), equals('showed')); expect(PAST.convert('marry'), equals('married')); expect(PAST.convert('study'), equals('studied')); expect(PAST.convert('visit'), equals('visited')); expect(PAST.convert('miss'), equals('missed')); expect(PAST.convert('watch'), equals('watched')); expect(PAST.convert('finish'), equals('finished')); expect(PAST.convert('fix'), equals('fixed')); expect(PAST.convert('buzz'), equals('buzzed')); expect(PAST.convert('asked'), equals('asked')); expect(PAST.convert('closed'), equals('closed')); expect(PAST.convert('reopened'), equals('reopened')); expect(PAST.convert('unseed'), equals('unseeded')); }); test('handles irregular past verbs', () { irregularPastVerbs.forEach((String presentOrParticiple, String past) { expect(PAST.convert(presentOrParticiple), equals(past)); }); expect(PAST.convert('forgo'), equals('forwent')); expect(PAST.convert('undo'), equals('undid')); expect(PAST.convert('outsell'), equals('outsold')); expect(PAST.convert('rebreed'), equals('rebred')); expect(PAST.convert('arose'), equals('arose')); expect(PAST.convert('backslid'), equals('backslid')); expect(PAST.convert('forbade'), equals('forbade')); }); }); }