diff options
author | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2017-07-14 18:12:08 -0400 |
---|---|---|
committer | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2017-07-14 18:12:08 -0400 |
commit | 9f4197c659207534401ee6a7299275bf4d109949 (patch) | |
tree | e846bd62bf42671e8fec172061c1e5323f52be93 /__tests__ | |
parent | ac62f2f52e0a656d60d2700937fdadabb221fcb3 (diff) |
Parse the d operation
Diffstat (limited to '__tests__')
-rw-r--r-- | __tests__/parser.test.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/__tests__/parser.test.js b/__tests__/parser.test.js new file mode 100644 index 0000000..004e18b --- /dev/null +++ b/__tests__/parser.test.js @@ -0,0 +1,35 @@ +const { parse } = require('../src/parser.js') + +describe('parse', () => { + it('parses a constant', () => { + expect(parse('5')).toEqual({ type: 'constant', value: 5 }) + }) + + it('parses a simple die (1d6)', () => { + expect(parse('1d6')).toEqual({ + type: 'd', + left: { type: 'constant', value: 1 }, + right: { type: 'constant', value: 6 } + }) + }) + + it('parses a simple die (10d42)', () => { + expect(parse('10d42')).toEqual({ + type: 'd', + left: { type: 'constant', value: 10 }, + right: { type: 'constant', value: 42 } + }) + }) + + it('parses a compound die (1d2d3)', () => { + expect(parse('1d2d3')).toEqual({ + type: 'd', + left: { type: 'constant', value: 1 }, + right: { + type: 'd', + left: { type: 'constant', value: 2 }, + right: { type: 'constant', value: 3 } + } + }) + }) +}) |