Skip to content
This repository has been archived by the owner on Jul 15, 2021. It is now read-only.

Commit

Permalink
Merge branch 'release/2.0.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
budnix committed Apr 25, 2017
2 parents e7d6e4b + 57bb148 commit e3b6951
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 21 deletions.
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Conf
.idea
.babelrc
.codeclimate.yml
.editorconfig
.eslintignore
.eslintrc
.gitignore
.idea
.jscsrc
.release.json
.travis.yml
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "hot-formula-parser",
"version": "2.0.2",
"version": "2.0.3",
"description": "Formula parser",
"browser": "dist/formula-parser.js",
"main": "lib/index.js",
Expand Down
35 changes: 30 additions & 5 deletions test/integration/parsing/formula/engineering.js
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,12 @@ describe('.parse() engineering formulas', () => {

it('IMCOS', () => {
expect(parser.parse('IMCOS()')).toMatchObject({error: '#VALUE!', result: null});
expect(parser.parse('IMCOS("3+4i")')).toMatchObject({error: null, result: '-27.03494560307422-3.8511533348117766i'});

const result = parser.parse('IMCOS("3+4i")');

expect(result.error).toBeNull();
expect(parseFloat(result.result.split('-')[1])).toBeCloseTo(27.03494560307422);
expect(parseFloat(result.result.split('-')[2])).toBeCloseTo(3.8511533348117766);
});

it('IMCOSH', () => {
Expand All @@ -212,7 +217,12 @@ describe('.parse() engineering formulas', () => {

it('IMCOT', () => {
expect(parser.parse('IMCOT()')).toMatchObject({error: '#VALUE!', result: null});
expect(parser.parse('IMCOT("3+4i")')).toMatchObject({error: null, result: '-0.0001875877379836712-1.0006443924715591i'});

const result = parser.parse('IMCOT("3+4i")');

expect(result.error).toBeNull();
expect(parseFloat(result.result.split('-')[1])).toBeCloseTo(-0.0001875877379836712);
expect(parseFloat(result.result.split('-')[2])).toBeCloseTo(1.0006443924715591);
});

it('IMCSC', () => {
Expand Down Expand Up @@ -270,7 +280,12 @@ describe('.parse() engineering formulas', () => {

it('IMSEC', () => {
expect(parser.parse('IMSEC()')).toMatchObject({error: '#VALUE!', result: null});
expect(parser.parse('IMSEC("3+4i")')).toMatchObject({error: null, result: '-0.03625349691586888+0.005164344607753179i'});

const result = parser.parse('IMSEC("3+4i")');

expect(result.error).toBeNull();
expect(parseFloat(result.result.split('+')[0])).toBeCloseTo(-0.03625349691586888);
expect(parseFloat(result.result.split('+')[1])).toBeCloseTo(0.005164344607753179);
});

it('IMSECH', () => {
Expand All @@ -280,7 +295,12 @@ describe('.parse() engineering formulas', () => {

it('IMSIN', () => {
expect(parser.parse('IMSIN()')).toMatchObject({error: '#VALUE!', result: null});
expect(parser.parse('IMSIN("3+4i")')).toMatchObject({error: null, result: '3.8537380379193764-27.01681325800393i'});

const result = parser.parse('IMSIN("3+4i")');

expect(result.error).toBeNull();
expect(parseFloat(result.result.split('-')[0])).toBeCloseTo(3.8537380379193764);
expect(parseFloat(result.result.split('-')[1])).toBeCloseTo(27.01681325800393);
});

it('IMSINH', () => {
Expand All @@ -307,7 +327,12 @@ describe('.parse() engineering formulas', () => {

it('IMTAN', () => {
expect(parser.parse('IMTAN()')).toMatchObject({error: '#VALUE!', result: null});
expect(parser.parse('IMTAN("3+4i")')).toMatchObject({error: null, result: '-0.00018734620462949037+0.9993559873814729i'});

const result = parser.parse('IMTAN("3+4i")');

expect(result.error).toBeNull();
expect(parseFloat(result.result.split('+')[0])).toBeCloseTo(-0.00018734620462949037);
expect(parseFloat(result.result.split('+')[1])).toBeCloseTo(0.9993559873814729);
});

it('OCT2BIN', () => {
Expand Down
26 changes: 12 additions & 14 deletions test/integration/parsing/formula/statistical.js
Original file line number Diff line number Diff line change
Expand Up @@ -361,20 +361,18 @@ describe('.parse() statistical formulas', () => {
parser.setVariable('bar', [11, 12, 13, 14, 15, 16]);
parser.setVariable('baz', [11, 12, 13, 14, 15, 16, 17, 18, 19]);

expect(parser.parse('GROWTH(foo, bar, baz)')).toMatchObject({
error: null,
result: [
32618.20377353843,
47729.422614746654,
69841.30085621699,
102197.07337883323,
149542.4867400496,
218821.8762146044,
320196.71836349065,
468536.05418408196,
685597.3889812973,
],
});
const result = parser.parse('GROWTH(foo, bar, baz)');

expect(result.error).toBeNull();
expect(result.result[0]).toBeCloseTo(32618.20377353843);
expect(result.result[1]).toBeCloseTo(47729.422614746654);
expect(result.result[2]).toBeCloseTo(69841.30085621699);
expect(result.result[3]).toBeCloseTo(102197.07337883323);
expect(result.result[4]).toBeCloseTo(149542.4867400496);
expect(result.result[5]).toBeCloseTo(218821.8762146044);
expect(result.result[6]).toBeCloseTo(320196.71836349065);
expect(result.result[7]).toBeCloseTo(468536.05418408196);
expect(result.result[8]).toBeCloseTo(685597.3889812973);
});

it('HARMEAN', () => {
Expand Down

0 comments on commit e3b6951

Please sign in to comment.