diff options
Diffstat (limited to 'lambda-calcul/javascript/test/client.test.js')
| -rw-r--r-- | lambda-calcul/javascript/test/client.test.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lambda-calcul/javascript/test/client.test.js b/lambda-calcul/javascript/test/client.test.js index 5fcc42c..8b68a61 100644 --- a/lambda-calcul/javascript/test/client.test.js +++ b/lambda-calcul/javascript/test/client.test.js @@ -54,4 +54,30 @@ describe('λ-calculator', () => { return client.nextChallenge('SomeToken') .then((challenge) => expect(challenge).toBe('SomeChallenge')); }); + + it('solves challenges', () => { + const parser = { + parse: (challenge) => { + expect(challenge).toBe('Some challenge'); + return 'Parsed expression'; + }, + }; + + const interpreter = { + evaluate: (parsedExpression) => { + expect(parsedExpression).toBe('Parsed expression'); + return 'Evaluated expression'; + }, + }; + + const printer = { + print: (evaluatedExpression) => { + expect(evaluatedExpression).toBe('Evaluated expression'); + return 'Expression to print'; + }, + }; + + const client = LC.newClient({ parser, interpreter, printer }); + expect(client.solve('Some challenge')).toBe('Expression to print'); + }); }); |
