From bece282dbb4fb3babef2d3875d0077c2a9d7546c Mon Sep 17 00:00:00 2001 From: Daniel Chapman <99625418+Chappydev@users.noreply.github.com> Date: Sat, 11 May 2024 05:58:14 -0600 Subject: Write english transform tests (#907) * Write transforms tests for English Wrote transforms tests for English to cover all implemented transforms and fixed code that was failing the tests. * Fix linter errors --- test/language/english-transforms.test.js | 109 ++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) (limited to 'test/language') diff --git a/test/language/english-transforms.test.js b/test/language/english-transforms.test.js index 6612e006..9ae48ce1 100644 --- a/test/language/english-transforms.test.js +++ b/test/language/english-transforms.test.js @@ -26,16 +26,123 @@ const tests = [ category: 'nouns', valid: true, tests: [ - {term: 'cat', source: 'cats', rule: 'ns', reasons: ['plural']} + {term: 'cat', source: 'cats', rule: 'ns', reasons: ['plural']}, + {term: 'cat', source: 'cat\'s', rule: 'ns', reasons: ['possessive']}, + {term: 'cats', source: 'cats\'', rule: 'ns', reasons: ['possessive']}, + {term: 'dirt', source: 'dirty', rule: 'ns', reasons: ['-y']}, + {term: 'haze', source: 'hazy', rule: 'ns', reasons: ['-y']}, + {term: 'bag', source: 'baggy', rule: 'ns', reasons: ['-y']}, + {term: 'scum', source: 'scummy', rule: 'ns', reasons: ['-y']}, + {term: 'run', source: 'runny', rule: 'ns', reasons: ['-y']}, + {term: 'slip', source: 'slippy', rule: 'ns', reasons: ['-y']}, + {term: 'star', source: 'starry', rule: 'ns', reasons: ['-y']}, + {term: 'gas', source: 'gassy', rule: 'ns', reasons: ['-y']}, + {term: 'wit', source: 'witty', rule: 'ns', reasons: ['-y']} ] }, { category: 'verbs', valid: true, + tests: [ + {term: 'walk', source: 'walked', rule: 'v', reasons: ['past']}, + {term: 'walk', source: 'going to walk', rule: 'v', reasons: ['going-to future']}, + {term: 'walk', source: 'will walk', rule: 'v', reasons: ['will future']}, + {term: 'walk', source: 'don\'t walk', rule: 'v', reasons: ['imperative negative']}, + {term: 'walk', source: 'do not walk', rule: 'v', reasons: ['imperative negative']}, + {term: 'hope', source: 'hoped', rule: 'v', reasons: ['past']}, + {term: 'try', source: 'tried', rule: 'v', reasons: ['past']}, + {term: 'frolic', source: 'frolicked', rule: 'v', reasons: ['past']}, + {term: 'rub', source: 'rubbed', rule: 'v', reasons: ['past']}, + {term: 'bid', source: 'bidded', rule: 'v', reasons: ['past']}, + {term: 'rig', source: 'rigged', rule: 'v', reasons: ['past']}, + {term: 'yak', source: 'yakked', rule: 'v', reasons: ['past']}, + {term: 'dial', source: 'dialled', rule: 'v', reasons: ['past']}, + {term: 'skim', source: 'skimmed', rule: 'v', reasons: ['past']}, + {term: 'bin', source: 'binned', rule: 'v', reasons: ['past']}, + {term: 'rip', source: 'ripped', rule: 'v', reasons: ['past']}, + {term: 'star', source: 'starred', rule: 'v', reasons: ['past']}, + {term: 'bus', source: 'bussed', rule: 'v', reasons: ['past']}, + {term: 'pit', source: 'pitted', rule: 'v', reasons: ['past']}, + {term: 'quiz', source: 'quizzed', rule: 'v', reasons: ['past']}, + {term: 'lay', source: 'laid', rule: 'v', reasons: ['past']}, + {term: 'pay', source: 'paid', rule: 'v', reasons: ['past']}, + {term: 'say', source: 'said', rule: 'v', reasons: ['past']}, + {term: 'adorn', source: 'adorn\'d', rule: 'v', reasons: ['past', 'archaic']}, + {term: 'walk', source: 'walking', rule: 'v', reasons: ['ing']}, + {term: 'drive', source: 'driving', rule: 'v', reasons: ['ing']}, + {term: 'lie', source: 'lying', rule: 'v', reasons: ['ing']}, + {term: 'panic', source: 'panicking', rule: 'v', reasons: ['ing']}, + {term: 'rub', source: 'rubbing', rule: 'v', reasons: ['ing']}, + {term: 'bid', source: 'bidding', rule: 'v', reasons: ['ing']}, + {term: 'rig', source: 'rigging', rule: 'v', reasons: ['ing']}, + {term: 'yak', source: 'yakking', rule: 'v', reasons: ['ing']}, + {term: 'dial', source: 'dialling', rule: 'v', reasons: ['ing']}, + {term: 'skim', source: 'skimming', rule: 'v', reasons: ['ing']}, + {term: 'bin', source: 'binning', rule: 'v', reasons: ['ing']}, + {term: 'rip', source: 'ripping', rule: 'v', reasons: ['ing']}, + {term: 'star', source: 'starring', rule: 'v', reasons: ['ing']}, + {term: 'bus', source: 'bussing', rule: 'v', reasons: ['ing']}, + {term: 'pit', source: 'pitting', rule: 'v', reasons: ['ing']}, + {term: 'quiz', source: 'quizzing', rule: 'v', reasons: ['ing']}, + {term: 'run', source: 'runnin\'', rule: 'v', reasons: ['ing', 'dropped g']}, + {term: 'walk', source: 'walks', rule: 'v', reasons: ['3rd pers. sing. pres']}, + {term: 'teach', source: 'teaches', rule: 'v', reasons: ['3rd pers. sing. pres']}, + {term: 'try', source: 'tries', rule: 'v', reasons: ['3rd pers. sing. pres']}, + {term: 'push', source: 'pushy', rule: 'v', reasons: ['-y']}, + {term: 'groove', source: 'groovy', rule: 'v', reasons: ['-y']}, + {term: 'sag', source: 'saggy', rule: 'v', reasons: ['-y']}, + {term: 'swim', source: 'swimmy', rule: 'v', reasons: ['-y']}, + {term: 'slip', source: 'slippy', rule: 'v', reasons: ['-y']}, + {term: 'blur', source: 'blurry', rule: 'v', reasons: ['-y']}, + {term: 'chat', source: 'chatty', rule: 'v', reasons: ['-y']}, + {term: 'learn', source: 'unlearn', rule: 'v', reasons: ['un-']} + ] + }, + { + category: 'phrasal verbs', + valid: true, tests: [ {term: 'look up', source: 'look something up', rule: 'v_phr', reasons: ['interposed object']}, + {term: 'look up', source: 'looking up', rule: 'v_phr', reasons: ['ing']}, + {term: 'look up', source: 'looked up', rule: 'v_phr', reasons: ['past']}, + {term: 'look up', source: 'looks up', rule: 'v_phr', reasons: ['3rd pers. sing. pres']}, {term: 'look up', source: 'looked something up', rule: 'v_phr', reasons: ['past', 'interposed object']} ] + }, + { + category: 'adverbs', + valid: true, + tests: [ + {term: 'interestingly', source: 'uninterestingly', rule: 'adj', reasons: ['un-']} + ] + }, + { + category: 'adjectives', + valid: true, + tests: [ + {term: 'funny', source: 'unfunny', rule: 'adj', reasons: ['un-']}, + {term: 'cool', source: 'cooler', rule: 'adj', reasons: ['comparative']}, + {term: 'subtle', source: 'subtler', rule: 'adj', reasons: ['comparative']}, + {term: 'funny', source: 'funnier', rule: 'adj', reasons: ['comparative']}, + {term: 'drab', source: 'drabber', rule: 'adj', reasons: ['comparative']}, + {term: 'mad', source: 'madder', rule: 'adj', reasons: ['comparative']}, + {term: 'big', source: 'bigger', rule: 'adj', reasons: ['comparative']}, + {term: 'dim', source: 'dimmer', rule: 'adj', reasons: ['comparative']}, + {term: 'tan', source: 'tanner', rule: 'adj', reasons: ['comparative']}, + {term: 'hot', source: 'hotter', rule: 'adj', reasons: ['comparative']}, + {term: 'cool', source: 'coolest', rule: 'adj', reasons: ['superlative']}, + {term: 'subtle', source: 'subtlest', rule: 'adj', reasons: ['superlative']}, + {term: 'funny', source: 'funniest', rule: 'adj', reasons: ['superlative']}, + {term: 'drab', source: 'drabbest', rule: 'adj', reasons: ['superlative']}, + {term: 'mad', source: 'maddest', rule: 'adj', reasons: ['superlative']}, + {term: 'big', source: 'biggest', rule: 'adj', reasons: ['superlative']}, + {term: 'dim', source: 'dimmest', rule: 'adj', reasons: ['superlative']}, + {term: 'tan', source: 'tannest', rule: 'adj', reasons: ['superlative']}, + {term: 'hot', source: 'hottest', rule: 'adj', reasons: ['superlative']}, + {term: 'quick', source: 'quickly', rule: 'adj', reasons: ['adverb']}, + {term: 'happy', source: 'happily', rule: 'adj', reasons: ['adverb']}, + {term: 'humble', source: 'humbly', rule: 'adj', reasons: ['adverb']} + ] } ]; /* eslint-enable @stylistic/no-multi-spaces */ -- cgit v1.2.3