Skip to content

Commit

Permalink
remove default window from function
Browse files Browse the repository at this point in the history
  • Loading branch information
mbondyra committed Nov 4, 2020
1 parent c08bd88 commit 25b9073
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export interface MovingAverageArgs {
inputColumnId: string;
outputColumnId: string;
outputColumnName?: string;
window?: number;
window: number;
}

export type ExpressionFunctionMovingAverage = ExpressionFunctionDefinition<
Expand Down Expand Up @@ -107,12 +107,11 @@ export const movingAverage: ExpressionFunctionMovingAverage = {
defaultMessage: 'The size of window to "slide" across the histogram.',
}),
types: ['number'],
required: false,
default: 5,
},
},

fn(input, { by, inputColumnId, outputColumnId, outputColumnName, window = 5 }) {
fn(input, { by, inputColumnId, outputColumnId, outputColumnName, window }) {
const resultColumns = buildResultColumns(
input,
outputColumnId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ import { movingAverage, MovingAverageArgs } from '../moving_average';
import { ExecutionContext } from '../../../execution/types';
import { Datatable } from '../../../expression_types/specs/datatable';

const defaultArgs = { window: 5, inputColumnId: 'val', outputColumnId: 'output' };

describe('interpreter/functions#movingAverage', () => {
const fn = functionWrapper(movingAverage);
const runFn = (input: Datatable, args: MovingAverageArgs) =>
Expand All @@ -34,7 +36,7 @@ describe('interpreter/functions#movingAverage', () => {
columns: [{ id: 'val', name: 'val', meta: { type: 'number' } }],
rows: [{ val: 5 }, { val: 7 }, { val: 3 }, { val: 2 }],
},
{ inputColumnId: 'val', outputColumnId: 'output' }
defaultArgs
);
expect(result.columns).toContainEqual({
id: 'output',
Expand Down Expand Up @@ -66,7 +68,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 8 },
],
},
{ inputColumnId: 'val', outputColumnId: 'output' }
defaultArgs
);
expect(result.columns).toContainEqual({
id: 'output',
Expand Down Expand Up @@ -106,7 +108,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 0 },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', window: 3 }
{ ...defaultArgs, window: 3 }
);
expect(result.rows.map((row) => row.output)).toEqual([
undefined,
Expand Down Expand Up @@ -143,7 +145,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 8, split: 'B' },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', by: ['split'] }
{ ...defaultArgs, by: ['split'] }
);

expect(result.rows.map((row) => row.output)).toEqual([
Expand Down Expand Up @@ -177,7 +179,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 8, split: 'B' },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', by: ['split'] }
{ ...defaultArgs, by: ['split'] }
);
expect(result.rows.map((row) => row.output)).toEqual([
undefined,
Expand Down Expand Up @@ -211,7 +213,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 9, split: '' },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', by: ['split'] }
{ ...defaultArgs, by: ['split'] }
);
expect(result.rows.map((row) => row.output)).toEqual([
undefined,
Expand Down Expand Up @@ -246,7 +248,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 8, split: 'B', split2: 'D' },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', by: ['split', 'split2'] }
{ ...defaultArgs, by: ['split', 'split2'] }
);
expect(result.rows.map((row) => row.output)).toEqual([
undefined,
Expand Down Expand Up @@ -275,7 +277,7 @@ describe('interpreter/functions#movingAverage', () => {
{ val: 11, split: '5' },
],
},
{ inputColumnId: 'val', outputColumnId: 'output', by: ['split'] }
{ ...defaultArgs, by: ['split'] }
);

expect(result.rows.map((row) => row.output)).toEqual([undefined, 1, undefined, 10]);
Expand All @@ -288,7 +290,7 @@ describe('interpreter/functions#movingAverage', () => {
columns: [{ id: 'val', name: 'val', meta: { type: 'number' } }],
rows: [{ val: 5 }, { val: '7' }, { val: '3' }, { val: 2 }],
},
{ inputColumnId: 'val', outputColumnId: 'output' }
defaultArgs
);
expect(result.rows.map((row) => row.output)).toEqual([
undefined,
Expand All @@ -305,7 +307,7 @@ describe('interpreter/functions#movingAverage', () => {
columns: [{ id: 'val', name: 'val', meta: { type: 'number' } }],
rows: [{ val: 5 }, { val: '7' }, { val: {} }, { val: 3 }, { val: 5 }],
},
{ inputColumnId: 'val', outputColumnId: 'output' }
defaultArgs
);
expect(result.rows.map((row) => row.output)).toEqual([undefined, 5, (5 + 7) / 2, NaN, NaN]);
});
Expand Down Expand Up @@ -333,7 +335,7 @@ describe('interpreter/functions#movingAverage', () => {
],
rows: [{ val: 5 }],
},
{ inputColumnId: 'val', outputColumnId: 'output' }
defaultArgs
);
expect(result.columns).toContainEqual({
id: 'output',
Expand Down Expand Up @@ -367,7 +369,7 @@ describe('interpreter/functions#movingAverage', () => {
],
rows: [{ val: 5 }],
},
{ inputColumnId: 'val', outputColumnId: 'output', outputColumnName: 'Output name' }
{ ...defaultArgs, outputColumnName: 'Output name' }
);
expect(result.columns).toContainEqual({
id: 'output',
Expand All @@ -390,7 +392,9 @@ describe('interpreter/functions#movingAverage', () => {
],
rows: [{ val: 5 }],
};
expect(runFn(input, { inputColumnId: 'nonexisting', outputColumnId: 'output' })).toBe(input);
expect(
runFn(input, { ...defaultArgs, inputColumnId: 'nonexisting', outputColumnId: 'output' })
).toBe(input);
});

it('throws an error if output column exists already', () => {
Expand All @@ -409,7 +413,7 @@ describe('interpreter/functions#movingAverage', () => {
],
rows: [{ val: 5 }],
},
{ inputColumnId: 'val', outputColumnId: 'val' }
{ ...defaultArgs, inputColumnId: 'val', outputColumnId: 'val' }
)
).toThrow();
});
Expand Down

0 comments on commit 25b9073

Please sign in to comment.